feat: [ui] Relative navigation; add storageClass (#1835)
- Change all ui request from absolute path to relative path. Can access ui web like ex.com/pgo/ with nginx spec config relative issue: zalando#1613 - Add storageClass field relative-nav Co-authored-by: Felix Kunde <felix-kunde@gmx.de>
This commit is contained in:
		
							parent
							
								
									e80cccb93b
								
							
						
					
					
						commit
						2011367525
					
				|  | @ -214,13 +214,13 @@ const delete_cluster = (namespace, clustername) => { | |||
|                     jQuery.ajax({ | ||||
|                         type: 'DELETE', | ||||
|                         url: ( | ||||
|                             '/postgresqls/' | ||||
|                             './postgresqls/' | ||||
|               + encodeURI(namespace) | ||||
|               + '/' + encodeURI(clustername) | ||||
|                         ), | ||||
|                         dataType: 'text', | ||||
|                         success: () => location.assign('/#/list'), | ||||
|                         error: (r, status, error) => location.assign('/#/list'), // TODO: show error
 | ||||
|                         success: () => location.assign('./#/list'), | ||||
|                         error: (r, status, error) => location.assign('./#/list'), // TODO: show error
 | ||||
|                     }) | ||||
|                 }, | ||||
|             }, | ||||
|  |  | |||
|  | @ -4,23 +4,23 @@ app | |||
|     .container | ||||
| 
 | ||||
|       .navbar-header | ||||
|         a.navbar-brand(href='/') | ||||
|         a.navbar-brand(href='./') | ||||
|           | PostgreSQL Operator UI | ||||
| 
 | ||||
|       #navbar.navbar-collapse.collapse | ||||
|         ul.nav.navbar-nav | ||||
| 
 | ||||
|           li(class='{ active: ["EDIT", "LIST", "LOGS", "STATUS"].includes(activenav) }') | ||||
|             a(href='/#/list') PostgreSQL clusters | ||||
|             a(href='./#/list') PostgreSQL clusters | ||||
| 
 | ||||
|           li(class='{ active: "BACKUPS" === activenav }') | ||||
|             a(href='/#/backups') Backups | ||||
|             a(href='./#/backups') Backups | ||||
| 
 | ||||
|           li(class='{ active: "OPERATOR" === activenav }') | ||||
|             a(href='/#/operator') Status | ||||
|             a(href='./#/operator') Status | ||||
| 
 | ||||
|           li(class='{ active: "NEW" === activenav }') | ||||
|             a(href='/#/new') New cluster | ||||
|             a(href='./#/new') New cluster | ||||
| 
 | ||||
|           li(if='{ config }') | ||||
|             a(href='{ config.docs_link }' target='_blank') Documentation | ||||
|  | @ -55,7 +55,7 @@ app | |||
|       | | ||||
|       | or | ||||
|       | | ||||
|       a(href="/") start over | ||||
|       a(href="./") start over | ||||
|       | . | ||||
| 
 | ||||
|     div(if='{ config }') | ||||
|  | @ -152,12 +152,12 @@ app | |||
| 
 | ||||
|     ;( | ||||
|       jQuery | ||||
|       .get('/config') | ||||
|       .get('./config') | ||||
|       .done(config => { | ||||
|         this.config = config | ||||
|         ;( | ||||
|           jQuery | ||||
|           .get('/teams') | ||||
|           .get('./teams') | ||||
|           .done(teams => { | ||||
|             this.teams = teams.sort() | ||||
|             this.team = this.teams[0] | ||||
|  |  | |||
|  | @ -6,18 +6,18 @@ edit | |||
|         ol.breadcrumb | ||||
| 
 | ||||
|           li.breadcrumb-item | ||||
|             a(href='/#/list') | ||||
|             a(href='./#/list') | ||||
|               | PostgreSQL clusters | ||||
| 
 | ||||
|           li.breadcrumb-item(if='{ cluster_path }') | ||||
|             a(href='/#/status/{ cluster_path }') | ||||
|             a(href='./#/status/{ cluster_path }') | ||||
|               | { qname } | ||||
| 
 | ||||
|           li.breadcrumb-item.active( | ||||
|             aria-current='page' | ||||
|             if='{ cluster_path }' | ||||
|           ) | ||||
|             a(href='/#/edit/{ cluster_path }') | ||||
|             a(href='./#/edit/{ cluster_path }') | ||||
|               | Edit | ||||
| 
 | ||||
|     .row(if='{ cluster_path }') | ||||
|  | @ -92,7 +92,7 @@ edit | |||
| 
 | ||||
|       jQuery.ajax({ | ||||
|         type: 'POST', | ||||
|         url: '/postgresqls/' + this.cluster_path, | ||||
|         url: './postgresqls/' + this.cluster_path, | ||||
|         contentType:"application/json", | ||||
|         data: jsonPayload, | ||||
|         processData: false, | ||||
|  | @ -113,7 +113,7 @@ edit | |||
| 
 | ||||
|     this.pollProgress = () => { | ||||
|       jQuery.get( | ||||
|         '/postgresqls/' + this.cluster_path, | ||||
|         './postgresqls/' + this.cluster_path, | ||||
|       ).then(data => { | ||||
| 
 | ||||
|         // Input data: | ||||
|  | @ -148,6 +148,9 @@ edit | |||
|           throughput: i.spec.volume.throughput || 125, | ||||
|           iops: i.spec.volume.iops || 3000 | ||||
|         } | ||||
|         if ('storageClass' in i.spec.volume) { | ||||
|             o.spec.volume.storageClass=i.spec.volume.storageClass | ||||
|         } | ||||
| 
 | ||||
|         o.spec.postgresql = {} | ||||
|         o.spec.postgresql.version = i.spec.postgresql.version | ||||
|  |  | |||
|  | @ -5,15 +5,15 @@ logs | |||
|       ol.breadcrumb | ||||
| 
 | ||||
|         li.breadcrumb-item | ||||
|           a(href='/#/list') | ||||
|           a(href='./#/list') | ||||
|             | PostgreSQL clusters | ||||
| 
 | ||||
|         li.breadcrumb-item | ||||
|           a(href='/#/status/{ cluster_path }') | ||||
|           a(href='./#/status/{ cluster_path }') | ||||
|             | { qname } | ||||
| 
 | ||||
|         li.breadcrumb-item | ||||
|           a(href='/#/logs/{ cluster_path }') | ||||
|           a(href='./#/logs/{ cluster_path }') | ||||
|             | Logs | ||||
| 
 | ||||
|   .sk-spinner-pulse(if='{ logs === undefined }') | ||||
|  | @ -26,7 +26,7 @@ logs | |||
|       | | ||||
|       | or | ||||
|       | | ||||
|       a(href="/") start over | ||||
|       a(href="./") start over | ||||
|       | . | ||||
| 
 | ||||
|   .container-fluid(if='{ logs }') | ||||
|  | @ -72,7 +72,7 @@ logs | |||
|         ) | ||||
|         ;( | ||||
|           jQuery | ||||
|           .get(`/operator/clusters/${cluster_path}/logs`) | ||||
|           .get(`./operator/clusters/${cluster_path}/logs`) | ||||
|           .done(logs => this.logs = logs.reverse()) | ||||
|           .fail(() => this.logs = null) | ||||
|           .always(() => this.update()) | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ new | |||
|         ol.breadcrumb | ||||
| 
 | ||||
|           li.breadcrumb-item | ||||
|             a(href='/#/new') | ||||
|             a(href='./#/new') | ||||
|               | New PostgreSQL cluster | ||||
| 
 | ||||
|     .row.text-center(if='{ !creating }') | ||||
|  | @ -64,7 +64,7 @@ new | |||
| 
 | ||||
|               a.btn.btn-small.btn-warning( | ||||
|                 if='{ clusterExists }' | ||||
|                 href='/#/status/{ namespace.state }/{ name }' | ||||
|                 href='./#/status/{ namespace.state }/{ name }' | ||||
|               ) | ||||
|                 | Cluster exists (show status) | ||||
| 
 | ||||
|  | @ -299,6 +299,19 @@ new | |||
|                   ) | ||||
|                   .input-group-addon | ||||
|                     .input-units Gi | ||||
| 
 | ||||
|             tr | ||||
|               td storageClass | ||||
|               td | ||||
|                 .input-group | ||||
|                   input.form-control( | ||||
|                     ref='volumeStorageClass' | ||||
|                     type='text' | ||||
|                     value='{ volumeStorageClass }' | ||||
|                     onchange='{ storageClassChange }' | ||||
|                     onkeyup='{ storageClassChange }' | ||||
|                   ) | ||||
| 
 | ||||
|             tr | ||||
|               td  | ||||
|               td Specify Iops and Throughput only if you need more than the default 3000 Iops and 125Mb/s EBS provides. | ||||
|  | @ -582,7 +595,8 @@ new | |||
|         enableReplicaPoolerLoadBalancer: true | ||||
|         {{/if}} | ||||
|         volume: | ||||
|           size: "{{ volumeSize }}Gi"{{#if iops}} | ||||
|           size: "{{ volumeSize }}Gi"{{#if volumeStorageClass}} | ||||
|           storageClass: "{{ volumeStorageClass }}"{{/if}}{{#if iops}} | ||||
|           iops: {{ iops }}{{/if}}{{#if throughput}} | ||||
|           throughput: {{ throughput }}{{/if}} | ||||
|         {{#if users}} | ||||
|  | @ -638,6 +652,7 @@ new | |||
|         enableMasterPoolerLoadBalancer: this.enableMasterPoolerLoadBalancer, | ||||
|         enableReplicaPoolerLoadBalancer: this.enableReplicaPoolerLoadBalancer, | ||||
|         volumeSize: this.volumeSize, | ||||
|         volumeStorageClass: this.volumeStorageClass, | ||||
|         iops: this.iops, | ||||
|         throughput: this.throughput, | ||||
|         users: this.users.valids, | ||||
|  | @ -716,6 +731,10 @@ new | |||
|       this.volumeSize = +e.target.value | ||||
|     } | ||||
| 
 | ||||
|     this.storageClassChange = e => { | ||||
|       this.volumeStorageClass = e.target.value | ||||
|     } | ||||
| 
 | ||||
|     this.iopsChange = e => { | ||||
|       this.iops = +e.target.value | ||||
|     } | ||||
|  | @ -759,7 +778,7 @@ new | |||
|     this.checkClusterExists = () => ( | ||||
|       jQuery | ||||
|       .get( | ||||
|         '/postgresqls/' | ||||
|         './postgresqls/' | ||||
|         + this.namespace.state | ||||
|         + '/' | ||||
|         + this.clusterName | ||||
|  | @ -781,7 +800,7 @@ new | |||
| 
 | ||||
|       jQuery.ajax({ | ||||
|         type: 'POST', | ||||
|         url: '/create-cluster', | ||||
|         url: './create-cluster', | ||||
|         contentType:'application/json', | ||||
|         data: jsonPayload, | ||||
|         processData: false, | ||||
|  | @ -1013,6 +1032,7 @@ new | |||
| 
 | ||||
|       this.clusterName = (this.name + '-').toLowerCase() | ||||
|       this.volumeSize = 10 | ||||
|       this.volumeStorageClass = '' | ||||
|       this.instanceCount = 1 | ||||
|       this.ranges = {} | ||||
|       this.odd = '' | ||||
|  |  | |||
|  | @ -6,11 +6,11 @@ postgresql | |||
|         ol.breadcrumb | ||||
| 
 | ||||
|           li.breadcrumb-item | ||||
|             a(href='/#/list') | ||||
|             a(href='./#/list') | ||||
|               | PostgreSQL clusters | ||||
| 
 | ||||
|           li.breadcrumb-item(if='{ cluster_path }') | ||||
|             a(href='/#/status/{ cluster_path }') | ||||
|             a(href='./#/status/{ cluster_path }') | ||||
|               | { qname } | ||||
| 
 | ||||
|     .row(if='{ cluster_path }') | ||||
|  | @ -39,20 +39,20 @@ postgresql | |||
|             ) | ||||
| 
 | ||||
|               a.btn.btn-info( | ||||
|                 href='/#/logs/{ cluster_path }' | ||||
|                 href='./#/logs/{ cluster_path }' | ||||
|               ) | ||||
|                 | Logs | ||||
| 
 | ||||
|               a.btn( | ||||
|                 class='btn-{ opts.read_write ? "primary" : "info" }' | ||||
|                 if='{ progress.postgresql }' | ||||
|                 href='/#/clone/{ clustername }/{ uid }/{ encodeURI(new Date().toISOString()) }' | ||||
|                 href='./#/clone/{ clustername }/{ uid }/{ encodeURI(new Date().toISOString()) }' | ||||
|               ) | ||||
|                 | Clone | ||||
| 
 | ||||
|               a.btn( | ||||
|                 class='btn-{ opts.read_write ? "warning" : "info" }' | ||||
|                 href='/#/edit/{ cluster_path }' | ||||
|                 href='./#/edit/{ cluster_path }' | ||||
|               ) | ||||
|                 | Edit | ||||
| 
 | ||||
|  | @ -124,7 +124,7 @@ postgresql | |||
| 
 | ||||
|     this.pollProgress = () => { | ||||
|       jQuery.get( | ||||
|         '/postgresqls/' + this.cluster_path, | ||||
|         './postgresqls/' + this.cluster_path, | ||||
|       ).done(data => { | ||||
|         this.progress.pooler = false | ||||
|         this.progress.postgresql = true | ||||
|  | @ -137,13 +137,13 @@ postgresql | |||
|         this.update() | ||||
| 
 | ||||
|         jQuery.get( | ||||
|           '/statefulsets/' + this.cluster_path, | ||||
|           './statefulsets/' + this.cluster_path, | ||||
|         ).done(data => { | ||||
|           this.progress.statefulSet = true | ||||
|           this.update() | ||||
| 
 | ||||
|           jQuery.get( | ||||
|             '/statefulsets/' + this.cluster_path + '/pods', | ||||
|             './statefulsets/' + this.cluster_path + '/pods', | ||||
|           ).done(data => { | ||||
|             if (data.length > 0) { | ||||
|                 this.progress.containerFirst = true | ||||
|  | @ -157,7 +157,7 @@ postgresql | |||
|             this.update() | ||||
| 
 | ||||
|             jQuery.get( | ||||
|               '/services/' + this.cluster_path, | ||||
|               './services/' + this.cluster_path, | ||||
|             ).done(data => { | ||||
|               if (data.metadata && data.metadata.annotations && 'zalando.org/dnsname' in data.metadata.annotations) { | ||||
|                 this.progress.dnsName = data.metadata.annotations['zalando.org/dnsname'] | ||||
|  | @ -169,7 +169,7 @@ postgresql | |||
|               } | ||||
| 
 | ||||
|               if (this.progress.poolerEnabled == true) { | ||||
|                 jQuery.get('/pooler/' + this.cluster_path).done(data => { | ||||
|                 jQuery.get('./pooler/' + this.cluster_path).done(data => { | ||||
|                   this.progress.pooler = {"url": ""} | ||||
|                   this.update() | ||||
|                 }) | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ postgresqls | |||
|         ol.breadcrumb | ||||
| 
 | ||||
|           li.breadcrumb-item | ||||
|             a(href='/#/list') | ||||
|             a(href='./#/list') | ||||
|               | PostgreSQL clusters | ||||
| 
 | ||||
|     .sk-spinner-pulse( | ||||
|  | @ -20,7 +20,7 @@ postgresqls | |||
|       | | ||||
|       | or | ||||
|       | | ||||
|       a(href='/') start over | ||||
|       a(href='./') start over | ||||
|       | . | ||||
| 
 | ||||
|     div( | ||||
|  | @ -81,7 +81,7 @@ postgresqls | |||
|             td(style='white-space: pre') | ||||
|               | { namespace } | ||||
|             td | ||||
|               a(href='/#/status/{ cluster_path(this) }') { name } | ||||
|               a(href='./#/status/{ cluster_path(this) }') { name } | ||||
|               btn.btn-danger(if='{status.PostgresClusterStatus == "CreateFailed"}') Create Failed | ||||
|             td { nodes } | ||||
|             td { cpu } / { cpu_limit } | ||||
|  | @ -101,7 +101,7 @@ postgresqls | |||
|               ) | ||||
| 
 | ||||
|                 a.btn.btn-info( | ||||
|                   href='/#/status/{ cluster_path(this) }' | ||||
|                   href='./#/status/{ cluster_path(this) }' | ||||
|                 ) | ||||
|                   i.fa.fa-check-circle.regular | ||||
|                   | Status | ||||
|  | @ -114,21 +114,21 @@ postgresqls | |||
|                   | Pgview | ||||
| 
 | ||||
|                 a.btn.btn-info( | ||||
|                   href='/#/logs/{ cluster_path(this) }' | ||||
|                   href='./#/logs/{ cluster_path(this) }' | ||||
|                 ) | ||||
|                   i.fa.fa-align-justify | ||||
|                   | Logs | ||||
| 
 | ||||
|                 a.btn( | ||||
|                   class='btn-{ opts.read_write ? "primary" : "info" }' | ||||
|                   href='/#/clone/{ encodeURI(name) }/{ encodeURI(uid) }/{ encodeURI(new Date().toISOString()) }' | ||||
|                   href='./#/clone/{ encodeURI(name) }/{ encodeURI(uid) }/{ encodeURI(new Date().toISOString()) }' | ||||
|                 ) | ||||
|                   i.fa.fa-clone.regular | ||||
|                   | Clone | ||||
| 
 | ||||
|                 a.btn( | ||||
|                   class='btn-{ opts.read_write ? "warning" : "info" }' | ||||
|                   href='/#/edit/{ cluster_path(this) }' | ||||
|                   href='./#/edit/{ cluster_path(this) }' | ||||
|                 ) | ||||
|                   | Edit | ||||
| 
 | ||||
|  | @ -183,7 +183,7 @@ postgresqls | |||
|               | { namespace } | ||||
|             td | ||||
|               a( | ||||
|                 href='/#/status/{ cluster_path(this) }' | ||||
|                 href='./#/status/{ cluster_path(this) }' | ||||
|               ) | ||||
|                 | { name } | ||||
|             td { nodes } | ||||
|  | @ -203,7 +203,7 @@ postgresqls | |||
|               ) | ||||
| 
 | ||||
|                 a.btn.btn-info( | ||||
|                   href='/#/status/{ cluster_path(this) }' | ||||
|                   href='./#/status/{ cluster_path(this) }' | ||||
|                 ) | ||||
|                   i.fa.fa-check-circle.regular | ||||
|                   | Status | ||||
|  | @ -217,21 +217,21 @@ postgresqls | |||
|                   | Pgview | ||||
| 
 | ||||
|                 a.btn.btn-info( | ||||
|                   href='/#/logs/{ cluster_path(this) }' | ||||
|                   href='./#/logs/{ cluster_path(this) }' | ||||
|                 ) | ||||
|                   i.fa.fa-align-justify | ||||
|                   | Logs | ||||
| 
 | ||||
|                 a.btn( | ||||
|                   class='btn-{ opts.read_write ? "primary" : "info" }' | ||||
|                   href='/#/clone/{ encodeURI(name) }/{ encodeURI(uid) }/{ encodeURI(new Date().toISOString()) }' | ||||
|                   href='./#/clone/{ encodeURI(name) }/{ encodeURI(uid) }/{ encodeURI(new Date().toISOString()) }' | ||||
|                 ) | ||||
|                   i.fa.fa-clone.regular | ||||
|                   | Clone | ||||
| 
 | ||||
|                 a.btn( | ||||
|                   class='btn-{ opts.read_write ? "warning" : "info" }' | ||||
|                   href='/#/edit/{ cluster_path(this) }' | ||||
|                   href='./#/edit/{ cluster_path(this) }' | ||||
|                 ) | ||||
|                   | Edit | ||||
| 
 | ||||
|  | @ -343,7 +343,7 @@ postgresqls | |||
| 
 | ||||
|     this.on('mount', () => | ||||
|       jQuery | ||||
|       .get('/postgresqls') | ||||
|       .get('./postgresqls') | ||||
|       .done(clusters => { | ||||
|         this.my_clusters = [] | ||||
|         this.other_clusters = [] | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ restore | |||
|       | | ||||
|       | or | ||||
|       | | ||||
|       a(href="/") start over | ||||
|       a(href="./") start over | ||||
|       | . | ||||
| 
 | ||||
|     p(if='{ stored_clusters && stored_clusters.length === 0 }') | ||||
|  | @ -23,7 +23,7 @@ restore | |||
|           ol.breadcrumb | ||||
| 
 | ||||
|             li.breadcrumb-item | ||||
|               a(href='/#/backups') | ||||
|               a(href='./#/backups') | ||||
|                 | PostgreSQL cluster backups ({ stored_clusters.length }) | ||||
| 
 | ||||
|       p | ||||
|  | @ -63,7 +63,7 @@ restore | |||
|               p(if='{ versions === null }') | ||||
|                 | Error loading backups.  Please try again or | ||||
|                 | | ||||
|                 a(href="/") start over | ||||
|                 a(href="./") start over | ||||
|                 | . | ||||
| 
 | ||||
|               p(if='{ versions && versions.length === 0 }') | ||||
|  | @ -96,7 +96,7 @@ restore | |||
|                         p(if='{ basebackups === null }') | ||||
|                           | Error loading snapshots.  Please try again or | ||||
|                           | | ||||
|                           a(href="/") start over | ||||
|                           a(href="./") start over | ||||
|                           | . | ||||
| 
 | ||||
|                         p(if='{ basebackups && basebackups.length === 0 }') | ||||
|  | @ -312,7 +312,7 @@ restore | |||
|       get_subresources_once({ | ||||
|         parent_resource: this, | ||||
|         key: 'stored_clusters', | ||||
|         url: '/stored_clusters', | ||||
|         url: './stored_clusters', | ||||
|         build_subresource: stored_cluster_name => ({ | ||||
|           id: 'stored-cluster-' + stored_cluster_name, | ||||
|           name: stored_cluster_name, | ||||
|  | @ -324,7 +324,7 @@ restore | |||
|           body: stored_cluster => get_subresources_once({ | ||||
|             parent_resource: stored_cluster, | ||||
|             key: 'versions', | ||||
|             url: '/stored_clusters/' + stored_cluster.name, | ||||
|             url: './stored_clusters/' + stored_cluster.name, | ||||
|             build_subresource: version_name => ({ | ||||
|               id: stored_cluster.id + '-version-' + version_name, | ||||
|               name: version_name, | ||||
|  | @ -340,7 +340,7 @@ restore | |||
|                 parent_resource: version, | ||||
|                 key: 'basebackups', | ||||
|                 url: ( | ||||
|                   '/stored_clusters/' + stored_cluster.name | ||||
|                   './stored_clusters/' + stored_cluster.name | ||||
|                   + '/' + version.name | ||||
|                 ), | ||||
|                 build_subresource: basebackup => Object.assign(basebackup, { | ||||
|  |  | |||
|  | @ -6,19 +6,19 @@ status | |||
|         ol.breadcrumb | ||||
| 
 | ||||
|           li.breadcrumb-item | ||||
|             a(href='/#/operator') | ||||
|             a(href='./#/operator') | ||||
|               | Workers | ||||
| 
 | ||||
|           virtual(if='{ operatorShowLogs && logs }') | ||||
|             li.breadcrumb-item { worker_id } | ||||
|             li.breadcrumb-item | ||||
|               a(href='/#/operator/worker/{ worker_id }/logs') | ||||
|               a(href='./#/operator/worker/{ worker_id }/logs') | ||||
|                 | Logs | ||||
| 
 | ||||
|           virtual(if='{ operatorShowQueue && queue }') | ||||
|             li.breadcrumb-item { worker_id } | ||||
|             li.breadcrumb-item | ||||
|               a(href='/#/operator/worker/{ worker_id }/queue') | ||||
|               a(href='./#/operator/worker/{ worker_id }/queue') | ||||
|                 | Queue | ||||
| 
 | ||||
|     div(if='{ status }') | ||||
|  | @ -44,12 +44,12 @@ status | |||
|               ) | ||||
| 
 | ||||
|                 a.btn.btn-info( | ||||
|                   href='/#/operator/worker/{ worker_id }/logs' | ||||
|                   href='./#/operator/worker/{ worker_id }/logs' | ||||
|                 ) | ||||
|                   | Logs | ||||
| 
 | ||||
|                 a.btn.btn-info( | ||||
|                   href='/#/operator/worker/{ worker_id }/queue' | ||||
|                   href='./#/operator/worker/{ worker_id }/queue' | ||||
|                 ) | ||||
|                   | Queue | ||||
| 
 | ||||
|  | @ -96,7 +96,7 @@ status | |||
| 
 | ||||
|     this.pollStatus = () => { | ||||
|       jQuery.get( | ||||
|         '/operator/status', | ||||
|         './operator/status', | ||||
|       ).done(data => { | ||||
|         this.update({status: data}) | ||||
|       }) | ||||
|  | @ -111,7 +111,7 @@ status | |||
| 
 | ||||
|     this.pollLogs = id => { | ||||
|       jQuery.get( | ||||
|         '/operator/workers/' + id + '/logs', | ||||
|         './operator/workers/' + id + '/logs', | ||||
|       ).done(data => { | ||||
|         data.reverse() | ||||
|         this.update({logs: data}) | ||||
|  | @ -120,7 +120,7 @@ status | |||
| 
 | ||||
|     this.pollQueue = id => { | ||||
|       jQuery.get( | ||||
|         '/operator/workers/' + id + '/queue', | ||||
|         './operator/workers/' + id + '/queue', | ||||
|       ).done(data => | ||||
|         this.update({queue: data.List}) | ||||
|       ) | ||||
|  |  | |||
|  | @ -62,9 +62,9 @@ | |||
| 
 | ||||
| 
 | ||||
|     <!-- self-hosted --> | ||||
|     <link href="/css/styles.css" rel="stylesheet"> | ||||
|     <link href="/css/prism.css" rel="stylesheet"> | ||||
|     <link href="/favicon.png" rel="icon" type="image/png"> | ||||
|     <link href="./css/styles.css" rel="stylesheet"> | ||||
|     <link href="./css/prism.css" rel="stylesheet"> | ||||
|     <link href="./favicon.png" rel="icon" type="image/png"> | ||||
| 
 | ||||
|   </head> | ||||
| 
 | ||||
|  | @ -168,8 +168,8 @@ | |||
| 
 | ||||
| 
 | ||||
|     <!-- self-hosted --> | ||||
|     <script src="/js/prism.js"></script> | ||||
|     <script src="/js/build/app.js"></script> | ||||
|     <script src="./js/prism.js"></script> | ||||
|     <script src="./js/build/app.js"></script> | ||||
| 
 | ||||
|     {% if google_analytics %} | ||||
|     <!-- Global site tag (gtag.js) - Google Analytics --> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue