static: add fetch-fill-slot to load data for admin interface
This commit is contained in:
		| @ -167,18 +167,26 @@ | |||||||
|                     <i class="pf-icon pf-icon-server"></i> {% trans 'Workers' %} |                     <i class="pf-icon pf-icon-server"></i> {% trans 'Workers' %} | ||||||
|                 </div> |                 </div> | ||||||
|             </div> |             </div> | ||||||
|             <div class="pf-c-card__body"> |             <fetch-fill-slot class="pf-c-card__body" url="{% url 'passbook_api:admin_overview-list' %}" key="worker_count"> | ||||||
|                 {% if worker_count < 1 %} |                 <div slot="value < 1"> | ||||||
|                     <p class="aggregate-status"> |                     <p class="aggregate-status"> | ||||||
|                     <i class="fa fa-exclamation-triangle"></i> {{ worker_count }} |                         <i class="fa fa-exclamation-triangle"></i> <span data-value></span> | ||||||
|                     </p> |                     </p> | ||||||
|                     <p>{% trans 'No workers connected.' %}</p> |                     <p>{% trans 'No workers connected.' %}</p> | ||||||
|                 {% else %} |  | ||||||
|                 <p class="aggregate-status"> |  | ||||||
|                     <i class="fa fa-check-circle"></i> {{ worker_count }} |  | ||||||
|                 </p> |  | ||||||
|                 {% endif %} |  | ||||||
|                 </div> |                 </div> | ||||||
|  |                 <div slot="value >= 1"> | ||||||
|  |                     <p class="aggregate-status"> | ||||||
|  |                         <i class="fa fa-check-circle"></i> <span data-value></span> | ||||||
|  |                     </p> | ||||||
|  |                 </div> | ||||||
|  |                 <div> | ||||||
|  |                     <span class="pf-c-spinner" role="progressbar" aria-valuetext="Loading..."> | ||||||
|  |                         <span class="pf-c-spinner__clipper"></span> | ||||||
|  |                         <span class="pf-c-spinner__lead-ball"></span> | ||||||
|  |                         <span class="pf-c-spinner__tail-ball"></span> | ||||||
|  |                     </span> | ||||||
|  |                 </div> | ||||||
|  |             </fetch-fill-slot> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|         <a class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact" data-target="modal" data-modal="clearCacheModalRoot"> |         <a class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact" data-target="modal" data-modal="clearCacheModalRoot"> | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ from passbook.admin.tasks import VERSION_CACHE_KEY, update_latest_version | |||||||
| from passbook.core.models import Application, Provider, Source, User | from passbook.core.models import Application, Provider, Source, User | ||||||
| from passbook.flows.models import Flow, Stage | from passbook.flows.models import Flow, Stage | ||||||
| from passbook.policies.models import Policy | from passbook.policies.models import Policy | ||||||
| from passbook.root.celery import CELERY_APP |  | ||||||
| from passbook.stages.invitation.models import Invitation | from passbook.stages.invitation.models import Invitation | ||||||
|  |  | ||||||
|  |  | ||||||
| @ -49,7 +48,6 @@ class AdministrationOverviewView(AdminRequiredMixin, TemplateView): | |||||||
|         kwargs["invitation_count"] = len(Invitation.objects.all()) |         kwargs["invitation_count"] = len(Invitation.objects.all()) | ||||||
|         kwargs["version"] = parse(__version__) |         kwargs["version"] = parse(__version__) | ||||||
|         kwargs["version_latest"] = self.get_latest_version() |         kwargs["version_latest"] = self.get_latest_version() | ||||||
|         kwargs["worker_count"] = len(CELERY_APP.control.ping(timeout=0.5)) |  | ||||||
|         kwargs["providers_without_application"] = Provider.objects.filter( |         kwargs["providers_without_application"] = Provider.objects.filter( | ||||||
|             application=None |             application=None | ||||||
|         ) |         ) | ||||||
|  | |||||||
							
								
								
									
										584
									
								
								passbook/static/static/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										584
									
								
								passbook/static/static/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,584 @@ | |||||||
|  | { | ||||||
|  |   "requires": true, | ||||||
|  |   "lockfileVersion": 1, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@babel/code-frame": { | ||||||
|  |       "version": "7.10.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", | ||||||
|  |       "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/highlight": "^7.10.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@babel/helper-validator-identifier": { | ||||||
|  |       "version": "7.10.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", | ||||||
|  |       "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@babel/highlight": { | ||||||
|  |       "version": "7.10.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", | ||||||
|  |       "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/helper-validator-identifier": "^7.10.4", | ||||||
|  |         "chalk": "^2.0.0", | ||||||
|  |         "js-tokens": "^4.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@fortawesome/fontawesome-free": { | ||||||
|  |       "version": "5.15.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.0.tgz", | ||||||
|  |       "integrity": "sha512-wXetjQBNMTP59MAYNR1tdahMDOLx3FYj3PKdso7PLFLDpTvmAIqhSSEqnSTmWKahRjD+Sh5I5635+5qaoib5lw==" | ||||||
|  |     }, | ||||||
|  |     "@patternfly/patternfly": { | ||||||
|  |       "version": "4.42.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-4.42.2.tgz", | ||||||
|  |       "integrity": "sha512-VLDhNko4D09sKcnzWEzMr8T8z9btqAYpuK0ntWMsAwi+/C9XsKyaxPioxuEsm7PeuW6OU0neEzSDYMSUnwrMBQ==" | ||||||
|  |     }, | ||||||
|  |     "@rollup/pluginutils": { | ||||||
|  |       "version": "3.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", | ||||||
|  |       "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/estree": "0.0.39", | ||||||
|  |         "estree-walker": "^1.0.1", | ||||||
|  |         "picomatch": "^2.2.2" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/estree": { | ||||||
|  |           "version": "0.0.39", | ||||||
|  |           "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", | ||||||
|  |           "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "estree-walker": { | ||||||
|  |           "version": "1.0.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", | ||||||
|  |           "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@types/clean-css": { | ||||||
|  |       "version": "4.2.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.2.tgz", | ||||||
|  |       "integrity": "sha512-xiTJn3bmDh1lA8c6iVJs4ZhHw+pcmxXlJQXOB6G1oULaak8rmarIeFKI4aTJ7849dEhaO612wgIualZfbxTJwA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/node": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@types/estree": { | ||||||
|  |       "version": "0.0.45", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", | ||||||
|  |       "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@types/html-minifier": { | ||||||
|  |       "version": "3.5.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/html-minifier/-/html-minifier-3.5.3.tgz", | ||||||
|  |       "integrity": "sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/clean-css": "*", | ||||||
|  |         "@types/relateurl": "*", | ||||||
|  |         "@types/uglify-js": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@types/node": { | ||||||
|  |       "version": "14.11.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", | ||||||
|  |       "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@types/relateurl": { | ||||||
|  |       "version": "0.2.28", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.28.tgz", | ||||||
|  |       "integrity": "sha1-a9p9uGU/piZD9e5p6facEaOS46Y=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@types/resolve": { | ||||||
|  |       "version": "0.0.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", | ||||||
|  |       "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/node": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@types/uglify-js": { | ||||||
|  |       "version": "3.11.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.0.tgz", | ||||||
|  |       "integrity": "sha512-I0Yd8TUELTbgRHq2K65j8rnDPAzAP+DiaF/syLem7yXwYLsHZhPd+AM2iXsWmf9P2F2NlFCgl5erZPQx9IbM9Q==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "source-map": "^0.6.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "ansi-styles": { | ||||||
|  |       "version": "3.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||||
|  |       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "color-convert": "^1.9.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "atob": { | ||||||
|  |       "version": "2.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", | ||||||
|  |       "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "buffer-from": { | ||||||
|  |       "version": "1.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", | ||||||
|  |       "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "builtin-modules": { | ||||||
|  |       "version": "3.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", | ||||||
|  |       "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "camel-case": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", | ||||||
|  |       "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "no-case": "^2.2.0", | ||||||
|  |         "upper-case": "^1.1.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "chalk": { | ||||||
|  |       "version": "2.4.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | ||||||
|  |       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "ansi-styles": "^3.2.1", | ||||||
|  |         "escape-string-regexp": "^1.0.5", | ||||||
|  |         "supports-color": "^5.3.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "clean-css": { | ||||||
|  |       "version": "4.2.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", | ||||||
|  |       "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "source-map": "~0.6.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "codemirror": { | ||||||
|  |       "version": "5.58.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.1.tgz", | ||||||
|  |       "integrity": "sha512-UGb/ueu20U4xqWk8hZB3xIfV2/SFqnSLYONiM3wTMDqko0bsYrsAkGGhqUzbRkYm89aBKPyHtuNEbVWF9FTFzw==" | ||||||
|  |     }, | ||||||
|  |     "color-convert": { | ||||||
|  |       "version": "1.9.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | ||||||
|  |       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "color-name": "1.1.3" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "color-name": { | ||||||
|  |       "version": "1.1.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||||||
|  |       "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "commander": { | ||||||
|  |       "version": "2.20.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", | ||||||
|  |       "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "decode-uri-component": { | ||||||
|  |       "version": "0.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", | ||||||
|  |       "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "escape-string-regexp": { | ||||||
|  |       "version": "1.0.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | ||||||
|  |       "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "estree-walker": { | ||||||
|  |       "version": "0.6.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", | ||||||
|  |       "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "fsevents": { | ||||||
|  |       "version": "2.1.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", | ||||||
|  |       "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "has-flag": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||||
|  |       "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "he": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "html-minifier": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "camel-case": "^3.0.0", | ||||||
|  |         "clean-css": "^4.2.1", | ||||||
|  |         "commander": "^2.19.0", | ||||||
|  |         "he": "^1.2.0", | ||||||
|  |         "param-case": "^2.1.1", | ||||||
|  |         "relateurl": "^0.2.7", | ||||||
|  |         "uglify-js": "^3.5.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "is-module": { | ||||||
|  |       "version": "1.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", | ||||||
|  |       "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "is-reference": { | ||||||
|  |       "version": "1.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", | ||||||
|  |       "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/estree": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "jest-worker": { | ||||||
|  |       "version": "26.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", | ||||||
|  |       "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/node": "*", | ||||||
|  |         "merge-stream": "^2.0.0", | ||||||
|  |         "supports-color": "^7.0.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "has-flag": { | ||||||
|  |           "version": "4.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||||||
|  |           "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "supports-color": { | ||||||
|  |           "version": "7.2.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | ||||||
|  |           "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "has-flag": "^4.0.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "js-tokens": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "lit-element": { | ||||||
|  |       "version": "2.4.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.4.0.tgz", | ||||||
|  |       "integrity": "sha512-pBGLglxyhq/Prk2H91nA0KByq/hx/wssJBQFiYqXhGDvEnY31PRGYf1RglVzyLeRysu0IHm2K0P196uLLWmwFg==", | ||||||
|  |       "requires": { | ||||||
|  |         "lit-html": "^1.1.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "lit-html": { | ||||||
|  |       "version": "1.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.3.0.tgz", | ||||||
|  |       "integrity": "sha512-0Q1bwmaFH9O14vycPHw8C/IeHMk/uSDldVLIefu/kfbTBGIc44KGH6A8p1bDfxUfHdc8q6Ct7kQklWoHgr4t1Q==" | ||||||
|  |     }, | ||||||
|  |     "lower-case": { | ||||||
|  |       "version": "1.1.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", | ||||||
|  |       "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "magic-string": { | ||||||
|  |       "version": "0.25.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", | ||||||
|  |       "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "sourcemap-codec": "^1.4.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "merge-stream": { | ||||||
|  |       "version": "2.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", | ||||||
|  |       "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "minify-html-literals": { | ||||||
|  |       "version": "1.3.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/minify-html-literals/-/minify-html-literals-1.3.2.tgz", | ||||||
|  |       "integrity": "sha512-DBdi0md84vjvwmLoo9xleFV5FkhzOwfKBqcmoVFL54c9CFlSBtG9KTKEQqiwscB+acewculqys1cDnwyrYlNtg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/html-minifier": "^3.5.3", | ||||||
|  |         "clean-css": "^4.2.1", | ||||||
|  |         "html-minifier": "^4.0.0", | ||||||
|  |         "magic-string": "^0.25.0", | ||||||
|  |         "parse-literals": "^1.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "no-case": { | ||||||
|  |       "version": "2.3.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", | ||||||
|  |       "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "lower-case": "^1.1.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "param-case": { | ||||||
|  |       "version": "2.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", | ||||||
|  |       "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "no-case": "^2.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "parse-literals": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/parse-literals/-/parse-literals-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-gh4zPwvFSXx9ginX8lu9MP3OPHN3VV12PXI8IXD6oMCklFqM82pfbU9e/PKf9r7oLpbqlDSDyHYSVlxxuq3Iew==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "typescript": "^2.9.2 || ^3.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "path-parse": { | ||||||
|  |       "version": "1.0.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", | ||||||
|  |       "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "picomatch": { | ||||||
|  |       "version": "2.2.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", | ||||||
|  |       "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "randombytes": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | ||||||
|  |       "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "safe-buffer": "^5.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "relateurl": { | ||||||
|  |       "version": "0.2.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", | ||||||
|  |       "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "resolve": { | ||||||
|  |       "version": "1.17.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", | ||||||
|  |       "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "path-parse": "^1.0.6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "rollup": { | ||||||
|  |       "version": "2.28.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.28.2.tgz", | ||||||
|  |       "integrity": "sha512-8txbsFBFLmm9Xdt4ByTOGa9Muonmc8MfNjnGAR8U8scJlF1ZW7AgNZa7aqBXaKtlvnYP/ab++fQIq9dB9NWUbg==", | ||||||
|  |       "requires": { | ||||||
|  |         "fsevents": "~2.1.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "rollup-plugin-commonjs": { | ||||||
|  |       "version": "10.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz", | ||||||
|  |       "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "estree-walker": "^0.6.1", | ||||||
|  |         "is-reference": "^1.1.2", | ||||||
|  |         "magic-string": "^0.25.2", | ||||||
|  |         "resolve": "^1.11.0", | ||||||
|  |         "rollup-pluginutils": "^2.8.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "rollup-plugin-minify-html-literals": { | ||||||
|  |       "version": "1.2.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/rollup-plugin-minify-html-literals/-/rollup-plugin-minify-html-literals-1.2.5.tgz", | ||||||
|  |       "integrity": "sha512-x4FzCnbBpYdme7MQDS3+18CvYLqakAtM/JmA3hqXplwzMeZWW3l14KU7H33RhJlHH8Klgv49hGtBRLWLfjCudw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "minify-html-literals": "^1.3.2", | ||||||
|  |         "rollup-pluginutils": "^2.8.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "rollup-plugin-node-resolve": { | ||||||
|  |       "version": "5.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", | ||||||
|  |       "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/resolve": "0.0.8", | ||||||
|  |         "builtin-modules": "^3.1.0", | ||||||
|  |         "is-module": "^1.0.0", | ||||||
|  |         "resolve": "^1.11.1", | ||||||
|  |         "rollup-pluginutils": "^2.8.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "rollup-plugin-sourcemaps": { | ||||||
|  |       "version": "0.6.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.2.tgz", | ||||||
|  |       "integrity": "sha512-9AwTKg3yRykwzemfLt71ySe0LvrAci+bpsOL1LaTYFk5BX4HF6X7DQfpHa74ANfSja3hyjiQkXCR8goSOnW//Q==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@rollup/pluginutils": "^3.0.9", | ||||||
|  |         "source-map-resolve": "^0.6.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "rollup-plugin-terser": { | ||||||
|  |       "version": "7.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", | ||||||
|  |       "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/code-frame": "^7.10.4", | ||||||
|  |         "jest-worker": "^26.2.1", | ||||||
|  |         "serialize-javascript": "^4.0.0", | ||||||
|  |         "terser": "^5.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "rollup-pluginutils": { | ||||||
|  |       "version": "2.8.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", | ||||||
|  |       "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "estree-walker": "^0.6.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "safe-buffer": { | ||||||
|  |       "version": "5.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||||||
|  |       "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "serialize-javascript": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "randombytes": "^2.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "source-map": { | ||||||
|  |       "version": "0.6.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | ||||||
|  |       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "source-map-resolve": { | ||||||
|  |       "version": "0.6.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", | ||||||
|  |       "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "atob": "^2.1.2", | ||||||
|  |         "decode-uri-component": "^0.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "source-map-support": { | ||||||
|  |       "version": "0.5.19", | ||||||
|  |       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", | ||||||
|  |       "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "buffer-from": "^1.0.0", | ||||||
|  |         "source-map": "^0.6.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "sourcemap-codec": { | ||||||
|  |       "version": "1.4.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", | ||||||
|  |       "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "supports-color": { | ||||||
|  |       "version": "5.5.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||||||
|  |       "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "has-flag": "^3.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "terser": { | ||||||
|  |       "version": "5.3.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.4.tgz", | ||||||
|  |       "integrity": "sha512-dxuB8KQo8Gt6OVOeLg/rxfcxdNZI/V1G6ze1czFUzPeCFWZRtvZMgSzlZZ5OYBZ4HoG607F6pFPNLekJyV+yVw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "commander": "^2.20.0", | ||||||
|  |         "source-map": "~0.7.2", | ||||||
|  |         "source-map-support": "~0.5.19" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "source-map": { | ||||||
|  |           "version": "0.7.3", | ||||||
|  |           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", | ||||||
|  |           "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "typescript": { | ||||||
|  |       "version": "3.9.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", | ||||||
|  |       "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "uglify-js": { | ||||||
|  |       "version": "3.11.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.0.tgz", | ||||||
|  |       "integrity": "sha512-e1KQFRCpOxnrJsJVqDUCjURq+wXvIn7cK2sRAx9XL3HYLL9aezOP4Pb1+Y3/o693EPk111Yj2Q+IUXxcpHlygQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "upper-case": { | ||||||
|  |       "version": "1.1.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", | ||||||
|  |       "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", | ||||||
|  |       "dev": true | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -1,8 +1,22 @@ | |||||||
| { | { | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|  |   "scripts": { | ||||||
|  |     "build": "rollup -c", | ||||||
|  |     "watch": "rollup -c -w" | ||||||
|  |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@fortawesome/fontawesome-free": "^5.15.0", |     "@fortawesome/fontawesome-free": "^5.15.0", | ||||||
|     "@patternfly/patternfly": "^4.42.2", |     "@patternfly/patternfly": "^4.42.2", | ||||||
|     "codemirror": "^5.58.1" |     "codemirror": "^5.58.1", | ||||||
|  |     "lit-element": "^2.4.0", | ||||||
|  |     "lit-html": "^1.3.0", | ||||||
|  |     "rollup": "^2.28.2" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": { | ||||||
|  |     "rollup-plugin-commonjs": "^10.1.0", | ||||||
|  |     "rollup-plugin-minify-html-literals": "^1.2.5", | ||||||
|  |     "rollup-plugin-node-resolve": "^5.2.0", | ||||||
|  |     "rollup-plugin-sourcemaps": "^0.6.2", | ||||||
|  |     "rollup-plugin-terser": "^7.0.2" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -283,7 +283,7 @@ input[data-is-monospace] { | |||||||
| } | } | ||||||
|  |  | ||||||
| /* Aggregate Cards */ | /* Aggregate Cards */ | ||||||
| .pf-c-card.pf-c-card-aggregate > .pf-c-card__body > .aggregate-status { | .pf-c-card.pf-c-card-aggregate > .pf-c-card__body .aggregate-status { | ||||||
|     font-size: var(--pf-global--icon--FontSize--lg); |     font-size: var(--pf-global--icon--FontSize--lg); | ||||||
|     text-align: center; |     text-align: center; | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										28
									
								
								passbook/static/static/rollup.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								passbook/static/static/rollup.config.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | |||||||
|  | import resolve from 'rollup-plugin-node-resolve'; | ||||||
|  | import commonjs from 'rollup-plugin-commonjs'; | ||||||
|  | import minifyHTML from 'rollup-plugin-minify-html-literals'; | ||||||
|  | import { terser } from 'rollup-plugin-terser'; | ||||||
|  | import sourcemaps from 'rollup-plugin-sourcemaps'; | ||||||
|  |  | ||||||
|  | export default [{ | ||||||
|  |   input: './src/passbook.js', | ||||||
|  |   output: [ | ||||||
|  |     { | ||||||
|  |       format: 'iife', | ||||||
|  |       dir: 'passbook', | ||||||
|  |       sourcemap: true, | ||||||
|  |     } | ||||||
|  |   ], | ||||||
|  |  | ||||||
|  |   plugins: [ | ||||||
|  |     resolve({browser: true}), | ||||||
|  |     commonjs(), | ||||||
|  |     sourcemaps(), | ||||||
|  |     minifyHTML(), | ||||||
|  |     terser(), | ||||||
|  |   ], | ||||||
|  |  | ||||||
|  |   watch: { | ||||||
|  |     clearScreen: false, | ||||||
|  |   }, | ||||||
|  | }]; | ||||||
							
								
								
									
										73
									
								
								passbook/static/static/src/FetchFillSlot.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								passbook/static/static/src/FetchFillSlot.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,73 @@ | |||||||
|  | import { LitElement, html } from 'lit-element'; | ||||||
|  |  | ||||||
|  | class FetchFillSlot extends LitElement { | ||||||
|  |  | ||||||
|  |     static get properties() { | ||||||
|  |         return { | ||||||
|  |             url: { type: String }, | ||||||
|  |             key: { type: String }, | ||||||
|  |             value: { type: Number }, | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     constructor() { | ||||||
|  |         super(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     comparison(slotName) { | ||||||
|  |         var comparisonOperatorsHash = { | ||||||
|  |             '<': function (a, b) { return a < b; }, | ||||||
|  |             '>': function (a, b) { return a > b; }, | ||||||
|  |             '>=': function (a, b) { return a >= b; }, | ||||||
|  |             '<=': function (a, b) { return a <= b; }, | ||||||
|  |             '==': function (a, b) { return a == b; }, | ||||||
|  |             '!=': function (a, b) { return a != b; }, | ||||||
|  |             '===': function (a, b) { return a === b; }, | ||||||
|  |             '!==': function (a, b) { return a !== b; }, | ||||||
|  |         }; | ||||||
|  |         const tokens = slotName.split(" "); | ||||||
|  |         if (tokens.length < 3) { | ||||||
|  |             throw new Error("nah"); | ||||||
|  |         } | ||||||
|  |         let a = tokens[0]; | ||||||
|  |         if (a === "value") { | ||||||
|  |             a = this.value; | ||||||
|  |         } else { | ||||||
|  |             a = parseInt(a, 10); | ||||||
|  |         } | ||||||
|  |         let b = tokens[2]; | ||||||
|  |         if (b === "value") { | ||||||
|  |             b = this.value; | ||||||
|  |         } else { | ||||||
|  |             b = parseInt(b, 10); | ||||||
|  |         } | ||||||
|  |         const comp = tokens[1]; | ||||||
|  |         if (!(comp in comparisonOperatorsHash)) { | ||||||
|  |             throw new Error("Invalid comparison") | ||||||
|  |         } | ||||||
|  |         return comparisonOperatorsHash[comp](a, b); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     firstUpdated() { | ||||||
|  |         fetch(this.url).then(r => r.json()).then(r => r[this.key]).then(r => this.value = r); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     render() { | ||||||
|  |         if (this.value === undefined) { | ||||||
|  |             return html`<slot></slot>`; | ||||||
|  |         } | ||||||
|  |         let selectedSlot = ""; | ||||||
|  |         this.querySelectorAll("[slot]").forEach(slot => { | ||||||
|  |             const comp = slot.getAttribute("slot"); | ||||||
|  |             if (this.comparison(comp)) { | ||||||
|  |                 selectedSlot = comp; | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  |         this.querySelectorAll("[data-value]").forEach(dv => { | ||||||
|  |             dv.textContent = this.value; | ||||||
|  |         }); | ||||||
|  |         return html`<slot name=${selectedSlot}></slot>`; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | customElements.define('fetch-fill-slot', FetchFillSlot); | ||||||
| @ -1,3 +1,5 @@ | |||||||
|  | import './FetchFillSlot.js'; | ||||||
|  | 
 | ||||||
| // Button Dropdowns
 | // Button Dropdowns
 | ||||||
| document.querySelectorAll("button.pf-c-dropdown__toggle").forEach((b) => { | document.querySelectorAll("button.pf-c-dropdown__toggle").forEach((b) => { | ||||||
|     b.addEventListener('click', (e) => { |     b.addEventListener('click', (e) => { | ||||||
| @ -1,18 +0,0 @@ | |||||||
| # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. |  | ||||||
| # yarn lockfile v1 |  | ||||||
|  |  | ||||||
|  |  | ||||||
| "@fortawesome/fontawesome-free@^5.15.0": |  | ||||||
|   version "5.15.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.0.tgz#631b04d6301fee06d4bd7a9824fe7157735cbdb6" |  | ||||||
|   integrity sha512-wXetjQBNMTP59MAYNR1tdahMDOLx3FYj3PKdso7PLFLDpTvmAIqhSSEqnSTmWKahRjD+Sh5I5635+5qaoib5lw== |  | ||||||
|  |  | ||||||
| "@patternfly/patternfly@^4.42.2": |  | ||||||
|   version "4.42.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/@patternfly/patternfly/-/patternfly-4.42.2.tgz#236d87bd85f00cb7a16d0c2956638ecedc3fa6ef" |  | ||||||
|   integrity sha512-VLDhNko4D09sKcnzWEzMr8T8z9btqAYpuK0ntWMsAwi+/C9XsKyaxPioxuEsm7PeuW6OU0neEzSDYMSUnwrMBQ== |  | ||||||
|  |  | ||||||
| codemirror@^5.58.1: |  | ||||||
|   version "5.58.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.58.1.tgz#ec6bf38ad2a17f74c61bd00cc6dc5a69bd167854" |  | ||||||
|   integrity sha512-UGb/ueu20U4xqWk8hZB3xIfV2/SFqnSLYONiM3wTMDqko0bsYrsAkGGhqUzbRkYm89aBKPyHtuNEbVWF9FTFzw== |  | ||||||
| @ -41,7 +41,7 @@ FROM node as npm-packager | |||||||
| COPY --from=static-build /app/static/package.json /static/package.json | COPY --from=static-build /app/static/package.json /static/package.json | ||||||
| COPY --from=static-build /app/static/yarn.lock /static/yarn.lock | COPY --from=static-build /app/static/yarn.lock /static/yarn.lock | ||||||
|  |  | ||||||
| RUN cd /static && yarn | RUN cd /static && npm i && npm run build | ||||||
|  |  | ||||||
| FROM nginx | FROM nginx | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer