@openziti/ziti-console-lib 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/assets/animations/ConstructionZiggy.json +15233 -0
- package/assets/animations/HelloZiggy.json +10008 -0
- package/assets/animations/SmartZiggy.json +9488 -0
- package/assets/components/add.html +1 -0
- package/assets/components/api.html +12 -0
- package/assets/components/customtags.html +4 -0
- package/assets/components/line.html +1 -0
- package/assets/components/noitems.html +1 -0
- package/assets/components/save.html +4 -0
- package/assets/components/search.html +8 -0
- package/assets/components/tabIdentities.html +6 -0
- package/assets/components/tabPolicies.html +7 -0
- package/assets/components/tabRouters.html +5 -0
- package/assets/components/tabServers.html +4 -0
- package/assets/components/tabServices.html +5 -0
- package/assets/components/tabSessions.html +4 -0
- package/assets/data/mail.json +0 -0
- package/assets/data/services.json +6 -0
- package/assets/data/settings.json +25 -0
- package/assets/data/site.json +31 -0
- package/assets/data/tags.json +7 -0
- package/assets/data/templates.json +1 -0
- package/assets/fonts/OpenSans-Regular.ttf +0 -0
- package/assets/fonts/OpenSans-Regular.woff +0 -0
- package/assets/fonts/OpenSans-Regular.woff2 +0 -0
- package/assets/fonts/RussoOne-Regular.ttf +0 -0
- package/assets/fonts/RussoOne-Regular.woff +0 -0
- package/assets/fonts/RussoOne-Regular.woff2 +0 -0
- package/assets/fonts/zac.eot +0 -0
- package/assets/fonts/zac.svg +55 -0
- package/assets/fonts/zac.ttf +0 -0
- package/assets/fonts/zac.woff +0 -0
- package/assets/fonts/zac.woff2 +0 -0
- package/assets/html/api-sessions.htm +153 -0
- package/assets/html/attributes.htm +260 -0
- package/assets/html/auth-policies.htm +410 -0
- package/assets/html/cas.htm +445 -0
- package/assets/html/config-types.htm +168 -0
- package/assets/html/configs.htm +238 -0
- package/assets/html/deprecated/fabric-links.htm +336 -0
- package/assets/html/deprecated/fabric-routers.htm +72 -0
- package/assets/html/deprecated/fabric-services.htm +494 -0
- package/assets/html/identities.htm +934 -0
- package/assets/html/index.htm +161 -0
- package/assets/html/jwt-signers.htm +260 -0
- package/assets/html/known.htm +115 -0
- package/assets/html/login.htm +131 -0
- package/assets/html/organization.htm +223 -0
- package/assets/html/posture-checks.htm +393 -0
- package/assets/html/profile.htm +52 -0
- package/assets/html/recipes.htm +455 -0
- package/assets/html/router-policies.htm +168 -0
- package/assets/html/routers.htm +323 -0
- package/assets/html/servers.htm +236 -0
- package/assets/html/service-policies.htm +197 -0
- package/assets/html/service-router-policies.htm +170 -0
- package/assets/html/services.htm +634 -0
- package/assets/html/sessions.htm +157 -0
- package/assets/html/settings.htm +146 -0
- package/assets/html/terminators.htm +244 -0
- package/assets/html/transit-routers.htm +173 -0
- package/assets/icons/android-icon-192x192.png +0 -0
- package/assets/icons/apple-icon-114x114.png +0 -0
- package/assets/icons/apple-icon-120x120.png +0 -0
- package/assets/icons/apple-icon-144x144.png +0 -0
- package/assets/icons/apple-icon-152x152.png +0 -0
- package/assets/icons/apple-icon-180x180.png +0 -0
- package/assets/icons/apple-icon-57x57.png +0 -0
- package/assets/icons/apple-icon-60x60.png +0 -0
- package/assets/icons/apple-icon-72x72.png +0 -0
- package/assets/icons/apple-icon-76x76.png +0 -0
- package/assets/icons/apple-icon-precomposed.png +0 -0
- package/assets/icons/favicon-16x16.png +0 -0
- package/assets/icons/favicon-32x32.png +0 -0
- package/assets/icons/favicon-96x96.png +0 -0
- package/assets/icons/favicon.ico +0 -0
- package/assets/icons/ms-icon-144x144.png +0 -0
- package/assets/images/Filter.png +0 -0
- package/assets/images/Login.jpg +0 -0
- package/assets/images/SortDown.png +0 -0
- package/assets/images/SortUp.png +0 -0
- package/assets/images/android.png +0 -0
- package/assets/images/anywhere.png +0 -0
- package/assets/images/apple.png +0 -0
- package/assets/images/bug.png +0 -0
- package/assets/images/check.png +0 -0
- package/assets/images/error.png +0 -0
- package/assets/images/info.png +0 -0
- package/assets/images/linux.png +0 -0
- package/assets/images/other.png +0 -0
- package/assets/images/scrollbar.png +0 -0
- package/assets/images/select.png +0 -0
- package/assets/images/success.png +0 -0
- package/assets/images/visualizer/ER.png +0 -0
- package/assets/images/visualizer/Routers.png +0 -0
- package/assets/images/visualizer/er_error.png +0 -0
- package/assets/images/visualizer/error_er.png +0 -0
- package/assets/images/visualizer/host-error.png +0 -0
- package/assets/images/visualizer/host.png +0 -0
- package/assets/images/visualizer/host_unregistered.png +0 -0
- package/assets/images/visualizer/link-cut.png +0 -0
- package/assets/images/visualizer/service.png +0 -0
- package/assets/images/visualizer/unregistered.png +0 -0
- package/assets/images/warning.png +0 -0
- package/assets/images/windows.png +0 -0
- package/assets/languages/en-us.json +330 -0
- package/assets/resources/avatar/man.svg +78 -0
- package/assets/resources/avatar/woman.svg +96 -0
- package/assets/resources/icon/analysis.svg +104 -0
- package/assets/resources/icon/appwans.svg +20 -0
- package/assets/resources/icon/architecture.svg +1 -0
- package/assets/resources/icon/bike.svg +94 -0
- package/assets/resources/icon/bus.svg +64 -0
- package/assets/resources/icon/cas.svg +46 -0
- package/assets/resources/icon/clusters.svg +28 -0
- package/assets/resources/icon/computer.svg +1 -0
- package/assets/resources/icon/data.svg +1 -0
- package/assets/resources/icon/delivery-truck.svg +1 -0
- package/assets/resources/icon/explosion.svg +81 -0
- package/assets/resources/icon/fabricServices.svg +31 -0
- package/assets/resources/icon/fabrics.svg +136 -0
- package/assets/resources/icon/front.svg +83 -0
- package/assets/resources/icon/gateway.svg +49 -0
- package/assets/resources/icon/gear.svg +122 -0
- package/assets/resources/icon/house.svg +72 -0
- package/assets/resources/icon/language.svg +1 -0
- package/assets/resources/icon/objective.svg +55 -0
- package/assets/resources/icon/route.svg +97 -0
- package/assets/resources/icon/routers.svg +27 -0
- package/assets/resources/icon/startup.svg +112 -0
- package/assets/resources/icon/switch.svg +101 -0
- package/assets/scripts/chart.min.js +7 -0
- package/assets/scripts/commands.js +112 -0
- package/assets/scripts/components/codemirror/codemirror.css +356 -0
- package/assets/scripts/components/codemirror/codemirror.js +9741 -0
- package/assets/scripts/components/codemirror/modes/addons/closetags.js +200 -0
- package/assets/scripts/components/codemirror/modes/addons/colorize.js +40 -0
- package/assets/scripts/components/codemirror/modes/addons/css-hint.js +66 -0
- package/assets/scripts/components/codemirror/modes/addons/formatting.js +124 -0
- package/assets/scripts/components/codemirror/modes/addons/html-hint.js +366 -0
- package/assets/scripts/components/codemirror/modes/addons/javascript-hint.js +159 -0
- package/assets/scripts/components/codemirror/modes/addons/show-hint.css +36 -0
- package/assets/scripts/components/codemirror/modes/addons/show-hint.js +482 -0
- package/assets/scripts/components/codemirror/modes/css.js +831 -0
- package/assets/scripts/components/codemirror/modes/htmlmixed.js +152 -0
- package/assets/scripts/components/codemirror/modes/javascript.js +930 -0
- package/assets/scripts/components/codemirror/modes/xml.js +413 -0
- package/assets/scripts/components/column.css +184 -0
- package/assets/scripts/components/column.js +165 -0
- package/assets/scripts/components/flows.css +0 -0
- package/assets/scripts/components/flows.js +48 -0
- package/assets/scripts/components/leaflet/images/layers-2x.png +0 -0
- package/assets/scripts/components/leaflet/images/layers.png +0 -0
- package/assets/scripts/components/leaflet/images/marker-icon-2x.png +0 -0
- package/assets/scripts/components/leaflet/images/marker-icon.png +0 -0
- package/assets/scripts/components/leaflet/images/marker-shadow.png +0 -0
- package/assets/scripts/components/leaflet/leaflet-src.esm.js +13926 -0
- package/assets/scripts/components/leaflet/leaflet-src.esm.js.map +1 -0
- package/assets/scripts/components/leaflet/leaflet-src.js +14020 -0
- package/assets/scripts/components/leaflet/leaflet-src.js.map +1 -0
- package/assets/scripts/components/leaflet/leaflet.css +640 -0
- package/assets/scripts/components/leaflet/leaflet.js +5 -0
- package/assets/scripts/components/leaflet/leaflet.js.map +1 -0
- package/assets/scripts/components/moment.js +4602 -0
- package/assets/scripts/components/multiselect.js +333 -0
- package/assets/scripts/components/network/img/network/acceptDeleteIcon.png +0 -0
- package/assets/scripts/components/network/img/network/addNodeIcon.png +0 -0
- package/assets/scripts/components/network/img/network/backIcon.png +0 -0
- package/assets/scripts/components/network/img/network/connectIcon.png +0 -0
- package/assets/scripts/components/network/img/network/cross.png +0 -0
- package/assets/scripts/components/network/img/network/cross2.png +0 -0
- package/assets/scripts/components/network/img/network/deleteIcon.png +0 -0
- package/assets/scripts/components/network/img/network/downArrow.png +0 -0
- package/assets/scripts/components/network/img/network/editIcon.png +0 -0
- package/assets/scripts/components/network/img/network/leftArrow.png +0 -0
- package/assets/scripts/components/network/img/network/minus.png +0 -0
- package/assets/scripts/components/network/img/network/plus.png +0 -0
- package/assets/scripts/components/network/img/network/rightArrow.png +0 -0
- package/assets/scripts/components/network/img/network/upArrow.png +0 -0
- package/assets/scripts/components/network/img/network/zoomExtends.png +0 -0
- package/assets/scripts/components/network/types/DOMutil.d.ts +99 -0
- package/assets/scripts/components/network/types/index-legacy-bundle.d.ts +4 -0
- package/assets/scripts/components/network/types/index-legacy-bundle.d.ts.map +1 -0
- package/assets/scripts/components/network/types/index-legacy.d.ts +24 -0
- package/assets/scripts/components/network/types/index-legacy.d.ts.map +1 -0
- package/assets/scripts/components/network/types/index-peer.d.ts +11 -0
- package/assets/scripts/components/network/types/index-peer.d.ts.map +1 -0
- package/assets/scripts/components/network/types/index-standalone.d.ts +7 -0
- package/assets/scripts/components/network/types/index-standalone.d.ts.map +1 -0
- package/assets/scripts/components/network/types/module/hammer.d.ts +2 -0
- package/assets/scripts/components/network/types/module/moment.d.ts +2 -0
- package/assets/scripts/components/network/types/network/Images.d.ts +2 -0
- package/assets/scripts/components/network/types/network/Network.d.ts +1030 -0
- package/assets/scripts/components/network/types/network/dotparser.d.ts +2 -0
- package/assets/scripts/components/network/types/network/gephiParser.d.ts +80 -0
- package/assets/scripts/components/network/types/network/gephiParser.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/bezier-edge-dynamic.d.ts +55 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/bezier-edge-dynamic.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/bezier-edge-static.d.ts +37 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/bezier-edge-static.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/cubic-bezier-edge.d.ts +32 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/cubic-bezier-edge.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/index.d.ts +10 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/index.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/straight-edge.d.ts +26 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/straight-edge.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/bezier-edge-base.d.ts +68 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/bezier-edge-base.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/cubic-bezier-edge-base.d.ts +38 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/cubic-bezier-edge-base.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/edge-base.d.ts +248 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/edge-base.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/end-points.d.ts +58 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/end-points.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/types.d.ts +196 -0
- package/assets/scripts/components/network/types/network/modules/components/edges/util/types.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/modules/layout-engine/index.d.ts +32 -0
- package/assets/scripts/components/network/types/network/modules/layout-engine/index.d.ts.map +1 -0
- package/assets/scripts/components/network/types/network/options.d.ts +2 -0
- package/assets/scripts/components/network/types/network/shapes.d.ts +122 -0
- package/assets/scripts/components/network/types/network/shapes.d.ts.map +1 -0
- package/assets/scripts/components/network/vis-network.css +716 -0
- package/assets/scripts/components/network/vis-network.esm.js +58974 -0
- package/assets/scripts/components/network/vis-network.esm.js.map +1 -0
- package/assets/scripts/components/network/vis-network.esm.min.js +53 -0
- package/assets/scripts/components/network/vis-network.esm.min.js.map +1 -0
- package/assets/scripts/components/network/vis-network.js +58994 -0
- package/assets/scripts/components/network/vis-network.js.map +1 -0
- package/assets/scripts/components/network/vis-network.min.css +1 -0
- package/assets/scripts/components/network/vis-network.min.js +53 -0
- package/assets/scripts/components/network/vis-network.min.js.map +1 -0
- package/assets/scripts/components/qrcode.min.js +1 -0
- package/assets/scripts/components/resources.js +26 -0
- package/assets/scripts/components/selector-new.js +300 -0
- package/assets/scripts/components/selector.js +300 -0
- package/assets/scripts/components/spectrum.js +2323 -0
- package/assets/scripts/components/timezone.js +1545 -0
- package/assets/scripts/components/uploader.js +74 -0
- package/assets/scripts/context.js +177 -0
- package/assets/scripts/dragging.js +58 -0
- package/assets/scripts/forms/forms.js +74 -0
- package/assets/scripts/forms/host.v1.htm +43 -0
- package/assets/scripts/forms/intercept.v1.htm +0 -0
- package/assets/scripts/forms/schema.js +693 -0
- package/assets/scripts/growler.js +133 -0
- package/assets/scripts/header.js +163 -0
- package/assets/scripts/jquery-3.6.3.min.js +2 -0
- package/assets/scripts/jquery.datetimepicker.js +2930 -0
- package/assets/scripts/locale.js +47 -0
- package/assets/scripts/modal.js +65 -0
- package/assets/scripts/model/data.js +558 -0
- package/assets/scripts/model/fabric.js +55 -0
- package/assets/scripts/model/fabricServices.js +45 -0
- package/assets/scripts/model/known.js +43 -0
- package/assets/scripts/model/links.js +44 -0
- package/assets/scripts/model/routers.js +51 -0
- package/assets/scripts/model/series.js +70 -0
- package/assets/scripts/model/sessions.js +61 -0
- package/assets/scripts/model/settings.js +60 -0
- package/assets/scripts/model/summary.js +49 -0
- package/assets/scripts/model/tags.js +330 -0
- package/assets/scripts/model/templates.js +42 -0
- package/assets/scripts/model/user.js +40 -0
- package/assets/scripts/restrictions.js +34 -0
- package/assets/scripts/service.js +76 -0
- package/assets/scripts/validation-tools.js +5119 -0
- package/assets/scripts/ziti.js +372 -0
- package/assets/styles/chart.min.css +1 -0
- package/assets/styles/dark.css +52 -0
- package/assets/styles/datetimepicker.css +1 -0
- package/assets/styles/forms.css +521 -0
- package/assets/styles/global.scss +890 -0
- package/assets/styles/growler.css +190 -0
- package/assets/styles/header.css +232 -0
- package/assets/styles/icons.css +160 -0
- package/assets/styles/navigation.css +183 -0
- package/assets/styles/select2.css +481 -0
- package/assets/styles/spectrum.css +507 -0
- package/assets/styles/tables.css +424 -0
- package/assets/styles/tooltip.css +134 -0
- package/assets/styles/ziti.css +3216 -0
- package/assets/svgs/Advanced.svg +89 -0
- package/assets/svgs/ArrowDown.svg +15 -0
- package/assets/svgs/ArrowDownDark.svg +15 -0
- package/assets/svgs/Confirm_Trash.svg +42 -0
- package/assets/svgs/DownloadKey.svg +50 -0
- package/assets/svgs/Filter.svg +13 -0
- package/assets/svgs/Growl_Bug.svg +47 -0
- package/assets/svgs/Growl_Error.svg +41 -0
- package/assets/svgs/Growl_Info.svg +45 -0
- package/assets/svgs/Growl_Success.svg +34 -0
- package/assets/svgs/Growl_Warning.svg +44 -0
- package/assets/svgs/MainMenuBlankUser.svg +14 -0
- package/assets/svgs/MainMenuNetworks.svg +37 -0
- package/assets/svgs/MainMenuNotifications.svg +32 -0
- package/assets/svgs/MainMenuOrg.svg +68 -0
- package/assets/svgs/MainMenuPlus.svg +13 -0
- package/assets/svgs/MainMenuSearch.svg +22 -0
- package/assets/svgs/MainMenuSupport.svg +417 -0
- package/assets/svgs/No_Clients.svg +94 -0
- package/assets/svgs/No_Plus.svg +30 -0
- package/assets/svgs/No_Routers.svg +56 -0
- package/assets/svgs/Resize.svg +33 -0
- package/assets/svgs/Simple.svg +62 -0
- package/assets/svgs/appwans.svg +20 -0
- package/assets/svgs/cas.svg +46 -0
- package/assets/svgs/cert.svg +69 -0
- package/assets/svgs/clear.svg +13 -0
- package/assets/svgs/close.svg +14 -0
- package/assets/svgs/clusters.svg +28 -0
- package/assets/svgs/copy.svg +64 -0
- package/assets/svgs/dashboard.svg +32 -0
- package/assets/svgs/dial.svg +83 -0
- package/assets/svgs/docs.svg +95 -0
- package/assets/svgs/downloads.svg +74 -0
- package/assets/svgs/fabricServices.svg +31 -0
- package/assets/svgs/fabrics.svg +134 -0
- package/assets/svgs/gateways.svg +49 -0
- package/assets/svgs/heart.svg +1 -0
- package/assets/svgs/ids.svg +20 -0
- package/assets/svgs/infoicon.svg +14 -0
- package/assets/svgs/lock.svg +12 -0
- package/assets/svgs/minus.svg +11 -0
- package/assets/svgs/nodata.svg +27 -0
- package/assets/svgs/qr.svg +56 -0
- package/assets/svgs/refresh.svg +24 -0
- package/assets/svgs/routers.svg +31 -0
- package/assets/svgs/select.svg +18 -0
- package/assets/svgs/services.svg +19 -0
- package/assets/svgs/settings.svg +1 -0
- package/assets/svgs/upload.svg +55 -0
- package/assets/templates/footer.htm +183 -0
- package/assets/templates/header.htm +298 -0
- package/assets/vectors/certificates.svg +1 -0
- package/assets/vectors/change.svg +1 -0
- package/assets/vectors/configuration.svg +2 -0
- package/assets/vectors/customize.svg +1 -0
- package/assets/vectors/dashboard.svg +1 -0
- package/assets/vectors/edgepolicies.svg +2 -0
- package/assets/vectors/globe.svg +63 -0
- package/assets/vectors/help.svg +48 -0
- package/assets/vectors/identity.svg +1 -0
- package/assets/vectors/notify.svg +1 -0
- package/assets/vectors/plus.svg +1 -0
- package/assets/vectors/posture.svg +1 -0
- package/assets/vectors/profile.svg +1 -0
- package/assets/vectors/router.svg +1 -0
- package/assets/vectors/routerpolicies.svg +1 -0
- package/assets/vectors/schema.svg +1 -0
- package/assets/vectors/server (1).svg +293 -0
- package/assets/vectors/servers.svg +103 -0
- package/assets/vectors/servicepolicy.svg +1 -0
- package/assets/vectors/services.svg +126 -0
- package/assets/vectors/settings.svg +130 -0
- package/assets/vectors/terminators.svg +1 -0
- package/assets/vectors/transitrouter.svg +1 -0
- package/esm2022/lib/app.initializer.mjs +24 -0
- package/esm2022/lib/features/card/card.component.mjs +29 -0
- package/esm2022/lib/features/card-list/card-list.component.mjs +50 -0
- package/esm2022/lib/features/config-editor/config-editor.component.mjs +239 -0
- package/esm2022/lib/features/confirm/confirm.component.mjs +59 -0
- package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +92 -0
- package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +77 -0
- package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +47 -0
- package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +46 -0
- package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs +124 -0
- package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +269 -0
- package/esm2022/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.mjs +94 -0
- package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +38 -0
- package/esm2022/lib/features/data-table/column-headers/table-column-select/table-column-select.component.mjs +34 -0
- package/esm2022/lib/features/data-table/data-table-filter.service.mjs +66 -0
- package/esm2022/lib/features/data-table/data-table.component.mjs +848 -0
- package/esm2022/lib/features/data-table/data-table.service.mjs +99 -0
- package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +95 -0
- package/esm2022/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.mjs +27 -0
- package/esm2022/lib/features/data-table/tooltips/os-tooltip.component.mjs +30 -0
- package/esm2022/lib/features/data-table/tooltips/sdk-tooltip.component.mjs +35 -0
- package/esm2022/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.mjs +73 -0
- package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +131 -0
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +169 -0
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.mjs +51 -0
- package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +74 -0
- package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +122 -0
- package/esm2022/lib/features/dynamic-widgets/password/password-input.component.mjs +72 -0
- package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +98 -0
- package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +180 -0
- package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +104 -0
- package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +72 -0
- package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +119 -0
- package/esm2022/lib/features/extendable/extendable.component.mjs +56 -0
- package/esm2022/lib/features/extendable/extensions-noop.service.mjs +50 -0
- package/esm2022/lib/features/json-view/json-view.component.mjs +197 -0
- package/esm2022/lib/features/list-page-features/list-page-form/list-page-form.component.mjs +139 -0
- package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +48 -0
- package/esm2022/lib/features/loading-indicator/loading-indicator.component.mjs +21 -0
- package/esm2022/lib/features/messaging/growler.component.mjs +63 -0
- package/esm2022/lib/features/messaging/growler.model.mjs +24 -0
- package/esm2022/lib/features/messaging/growler.module.mjs +35 -0
- package/esm2022/lib/features/messaging/growler.service.mjs +72 -0
- package/esm2022/lib/features/messaging/logger.service.mjs +175 -0
- package/esm2022/lib/features/no-items/no-items.component.mjs +47 -0
- package/esm2022/lib/features/overrides/overrides.component.mjs +119 -0
- package/esm2022/lib/features/overrides/overrides.service.mjs +115 -0
- package/esm2022/lib/features/preview-list/preview-list.component.mjs +91 -0
- package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +223 -0
- package/esm2022/lib/features/projectable-forms/configuration/configuration.service.mjs +150 -0
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +188 -0
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.service.mjs +131 -0
- package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +72 -0
- package/esm2022/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.mjs +55 -0
- package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +96 -0
- package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +322 -0
- package/esm2022/lib/features/projectable-forms/identity/identity-form.service.mjs +144 -0
- package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +172 -0
- package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +240 -0
- package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +453 -0
- package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +680 -0
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +252 -0
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +214 -0
- package/esm2022/lib/features/qr-code/qr-code.component.mjs +143 -0
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +87 -0
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.service.mjs +62 -0
- package/esm2022/lib/features/side-modal/side-modal.component.mjs +46 -0
- package/esm2022/lib/features/sidebars/side-banner/side-banner.component.mjs +17 -0
- package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +55 -0
- package/esm2022/lib/features/sidebars/side-toolbar/side-toolbar.component.mjs +128 -0
- package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +292 -0
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.component.mjs +588 -0
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +370 -0
- package/esm2022/lib/features/wrappers/node-wrapper.service.mjs +51 -0
- package/esm2022/lib/features/wrappers/zac-wrapper-service.class.mjs +92 -0
- package/esm2022/lib/features/wrappers/zac-wrapper.component.mjs +147 -0
- package/esm2022/lib/features/wrappers/zac-wrapper.service.mjs +937 -0
- package/esm2022/lib/models/config.mjs +9 -0
- package/esm2022/lib/models/edge-router.mjs +13 -0
- package/esm2022/lib/models/identity.mjs +34 -0
- package/esm2022/lib/models/service-policy.mjs +12 -0
- package/esm2022/lib/models/service.mjs +12 -0
- package/esm2022/lib/pages/configurations/configurations-page.component.mjs +102 -0
- package/esm2022/lib/pages/configurations/configurations-page.service.mjs +246 -0
- package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +149 -0
- package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +361 -0
- package/esm2022/lib/pages/identities/identities-page.component.mjs +233 -0
- package/esm2022/lib/pages/identities/identities-page.service.mjs +498 -0
- package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +132 -0
- package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +457 -0
- package/esm2022/lib/pages/services/services-page.component.mjs +141 -0
- package/esm2022/lib/pages/services/services-page.service.mjs +215 -0
- package/esm2022/lib/safe.pipe.mjs +19 -0
- package/esm2022/lib/services/console-events.service.mjs +32 -0
- package/esm2022/lib/services/csv-download.service.mjs +92 -0
- package/esm2022/lib/services/deactivate-guard.service.mjs +18 -0
- package/esm2022/lib/services/login-service.class.mjs +28 -0
- package/esm2022/lib/services/node-data.service.mjs +292 -0
- package/esm2022/lib/services/noop-login.service.mjs +45 -0
- package/esm2022/lib/services/schema.service.mjs +808 -0
- package/esm2022/lib/services/settings-service.class.mjs +131 -0
- package/esm2022/lib/services/settings.service.mjs +193 -0
- package/esm2022/lib/services/tab-name.service.mjs +65 -0
- package/esm2022/lib/services/validation.service.mjs +124 -0
- package/esm2022/lib/services/ziti-controller-data.service.mjs +260 -0
- package/esm2022/lib/services/ziti-data.service.mjs +54 -0
- package/esm2022/lib/services/ziti-domain-controller.service.mjs +3 -0
- package/esm2022/lib/shared/list-page-component.class.mjs +145 -0
- package/esm2022/lib/shared/list-page-service.class.mjs +151 -0
- package/esm2022/lib/version.mjs +4 -0
- package/esm2022/lib/zac-routing.module.mjs +41 -0
- package/esm2022/lib/ziti-console-lib.module.mjs +364 -0
- package/esm2022/lib/ziti-console.constants.mjs +19 -0
- package/esm2022/openziti-ziti-console-lib.mjs +5 -0
- package/esm2022/public-api.mjs +71 -0
- package/fesm2022/openziti-ziti-console-lib.mjs +15813 -0
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/app.initializer.d.ts +3 -0
- package/lib/app.initializer.d.ts.map +1 -0
- package/lib/features/card/card.component.d.ts +11 -0
- package/lib/features/card/card.component.d.ts.map +1 -0
- package/lib/features/card-list/card-list.component.d.ts +23 -0
- package/lib/features/card-list/card-list.component.d.ts.map +1 -0
- package/lib/features/config-editor/config-editor.component.d.ts +39 -0
- package/lib/features/config-editor/config-editor.component.d.ts.map +1 -0
- package/lib/features/confirm/confirm.component.d.ts +23 -0
- package/lib/features/confirm/confirm.component.d.ts.map +1 -0
- package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts +31 -0
- package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts.map +1 -0
- package/lib/features/custom-tags/custom-tags.component.d.ts +20 -0
- package/lib/features/custom-tags/custom-tags.component.d.ts.map +1 -0
- package/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.d.ts +16 -0
- package/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.d.ts.map +1 -0
- package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts +19 -0
- package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts.map +1 -0
- package/lib/features/data-table/cells/table-cell-token/table-cell-token.component.d.ts +22 -0
- package/lib/features/data-table/cells/table-cell-token/table-cell-token.component.d.ts.map +1 -0
- package/lib/features/data-table/column-headers/table-column-default/table-column-default.component.d.ts +52 -0
- package/lib/features/data-table/column-headers/table-column-default/table-column-default.component.d.ts.map +1 -0
- package/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.d.ts +27 -0
- package/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.d.ts.map +1 -0
- package/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.d.ts +19 -0
- package/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.d.ts.map +1 -0
- package/lib/features/data-table/column-headers/table-column-select/table-column-select.component.d.ts +15 -0
- package/lib/features/data-table/column-headers/table-column-select/table-column-select.component.d.ts.map +1 -0
- package/lib/features/data-table/data-table-filter.service.d.ts +24 -0
- package/lib/features/data-table/data-table-filter.service.d.ts.map +1 -0
- package/lib/features/data-table/data-table.component.d.ts +154 -0
- package/lib/features/data-table/data-table.component.d.ts.map +1 -0
- package/lib/features/data-table/data-table.service.d.ts +20 -0
- package/lib/features/data-table/data-table.service.d.ts.map +1 -0
- package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts +22 -0
- package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts.map +1 -0
- package/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.d.ts +10 -0
- package/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.d.ts.map +1 -0
- package/lib/features/data-table/tooltips/os-tooltip.component.d.ts +15 -0
- package/lib/features/data-table/tooltips/os-tooltip.component.d.ts.map +1 -0
- package/lib/features/data-table/tooltips/sdk-tooltip.component.d.ts +15 -0
- package/lib/features/data-table/tooltips/sdk-tooltip.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.d.ts +19 -0
- package/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts +26 -0
- package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts +45 -0
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.d.ts +14 -0
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/number/number-input.component.d.ts +20 -0
- package/lib/features/dynamic-widgets/number/number-input.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/object/object.component.d.ts +26 -0
- package/lib/features/dynamic-widgets/object/object.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/password/password-input.component.d.ts +20 -0
- package/lib/features/dynamic-widgets/password/password-input.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts +21 -0
- package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts +58 -0
- package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts +23 -0
- package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/string/string-input.component.d.ts +20 -0
- package/lib/features/dynamic-widgets/string/string-input.component.d.ts.map +1 -0
- package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts +23 -0
- package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts.map +1 -0
- package/lib/features/extendable/extendable.component.d.ts +15 -0
- package/lib/features/extendable/extendable.component.d.ts.map +1 -0
- package/lib/features/extendable/extensions-noop.service.d.ts +31 -0
- package/lib/features/extendable/extensions-noop.service.d.ts.map +1 -0
- package/lib/features/json-view/json-view.component.d.ts +37 -0
- package/lib/features/json-view/json-view.component.d.ts.map +1 -0
- package/lib/features/list-page-features/list-page-form/list-page-form.component.d.ts +35 -0
- package/lib/features/list-page-features/list-page-form/list-page-form.component.d.ts.map +1 -0
- package/lib/features/list-page-features/list-page-header/list-page-header.component.d.ts +13 -0
- package/lib/features/list-page-features/list-page-header/list-page-header.component.d.ts.map +1 -0
- package/lib/features/loading-indicator/loading-indicator.component.d.ts +9 -0
- package/lib/features/loading-indicator/loading-indicator.component.d.ts.map +1 -0
- package/lib/features/messaging/growler.component.d.ts +19 -0
- package/lib/features/messaging/growler.component.d.ts.map +1 -0
- package/lib/features/messaging/growler.model.d.ts +8 -0
- package/lib/features/messaging/growler.model.d.ts.map +1 -0
- package/lib/features/messaging/growler.module.d.ts +10 -0
- package/lib/features/messaging/growler.module.d.ts.map +1 -0
- package/lib/features/messaging/growler.service.d.ts +18 -0
- package/lib/features/messaging/growler.service.d.ts.map +1 -0
- package/lib/features/messaging/logger.service.d.ts +27 -0
- package/lib/features/messaging/logger.service.d.ts.map +1 -0
- package/lib/features/no-items/no-items.component.d.ts +19 -0
- package/lib/features/no-items/no-items.component.d.ts.map +1 -0
- package/lib/features/overrides/overrides.component.d.ts +33 -0
- package/lib/features/overrides/overrides.component.d.ts.map +1 -0
- package/lib/features/overrides/overrides.service.d.ts +18 -0
- package/lib/features/overrides/overrides.service.d.ts.map +1 -0
- package/lib/features/preview-list/preview-list.component.d.ts +24 -0
- package/lib/features/preview-list/preview-list.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +52 -0
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/configuration/configuration.service.d.ts +33 -0
- package/lib/features/projectable-forms/configuration/configuration.service.d.ts.map +1 -0
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +45 -0
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/edge-router/edge-router-form.service.d.ts +29 -0
- package/lib/features/projectable-forms/edge-router/edge-router-form.service.d.ts.map +1 -0
- package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts +22 -0
- package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.d.ts +15 -0
- package/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/form-header/form-header.component.d.ts +23 -0
- package/lib/features/projectable-forms/form-header/form-header.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts +70 -0
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/identity/identity-form.service.d.ts +20 -0
- package/lib/features/projectable-forms/identity/identity-form.service.d.ts.map +1 -0
- package/lib/features/projectable-forms/projectable-form.class.d.ts +39 -0
- package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -0
- package/lib/features/projectable-forms/service/service-form.component.d.ts +62 -0
- package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/service/service-form.service.d.ts +96 -0
- package/lib/features/projectable-forms/service/service-form.service.d.ts.map +1 -0
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +140 -0
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +58 -0
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts +37 -0
- package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +1 -0
- package/lib/features/qr-code/qr-code.component.d.ts +40 -0
- package/lib/features/qr-code/qr-code.component.d.ts.map +1 -0
- package/lib/features/reset-enrollment/reset-enrollment.component.d.ts +27 -0
- package/lib/features/reset-enrollment/reset-enrollment.component.d.ts.map +1 -0
- package/lib/features/reset-enrollment/reset-enrollment.service.d.ts +13 -0
- package/lib/features/reset-enrollment/reset-enrollment.service.d.ts.map +1 -0
- package/lib/features/side-modal/side-modal.component.d.ts +15 -0
- package/lib/features/side-modal/side-modal.component.d.ts.map +1 -0
- package/lib/features/sidebars/side-banner/side-banner.component.d.ts +7 -0
- package/lib/features/sidebars/side-banner/side-banner.component.d.ts.map +1 -0
- package/lib/features/sidebars/side-navbar/side-navbar.component.d.ts +16 -0
- package/lib/features/sidebars/side-navbar/side-navbar.component.d.ts.map +1 -0
- package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts +34 -0
- package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts.map +1 -0
- package/lib/features/tag-selector/tag-selector.component.d.ts +59 -0
- package/lib/features/tag-selector/tag-selector.component.d.ts.map +1 -0
- package/lib/features/visualizer/identity-service-path/identity-service-path.component.d.ts +53 -0
- package/lib/features/visualizer/identity-service-path/identity-service-path.component.d.ts.map +1 -0
- package/lib/features/visualizer/identity-service-path/identity-service-path.helper.d.ts +21 -0
- package/lib/features/visualizer/identity-service-path/identity-service-path.helper.d.ts.map +1 -0
- package/lib/features/wrappers/node-wrapper.service.d.ts +24 -0
- package/lib/features/wrappers/node-wrapper.service.d.ts.map +1 -0
- package/lib/features/wrappers/zac-wrapper-service.class.d.ts +38 -0
- package/lib/features/wrappers/zac-wrapper-service.class.d.ts.map +1 -0
- package/lib/features/wrappers/zac-wrapper.component.d.ts +31 -0
- package/lib/features/wrappers/zac-wrapper.component.d.ts.map +1 -0
- package/lib/features/wrappers/zac-wrapper.service.d.ts +56 -0
- package/lib/features/wrappers/zac-wrapper.service.d.ts.map +1 -0
- package/lib/models/config.d.ts +6 -0
- package/lib/models/config.d.ts.map +1 -0
- package/lib/models/edge-router.d.ts +10 -0
- package/lib/models/edge-router.d.ts.map +1 -0
- package/lib/models/identity.d.ts +16 -0
- package/lib/models/identity.d.ts.map +1 -0
- package/lib/models/service-policy.d.ts +9 -0
- package/lib/models/service-policy.d.ts.map +1 -0
- package/lib/models/service.d.ts +9 -0
- package/lib/models/service.d.ts.map +1 -0
- package/lib/pages/configurations/configurations-page.component.d.ts +29 -0
- package/lib/pages/configurations/configurations-page.component.d.ts.map +1 -0
- package/lib/pages/configurations/configurations-page.service.d.ts +78 -0
- package/lib/pages/configurations/configurations-page.service.d.ts.map +1 -0
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts +38 -0
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts.map +1 -0
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts +47 -0
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -0
- package/lib/pages/identities/identities-page.component.d.ts +44 -0
- package/lib/pages/identities/identities-page.component.d.ts.map +1 -0
- package/lib/pages/identities/identities-page.service.d.ts +54 -0
- package/lib/pages/identities/identities-page.service.d.ts.map +1 -0
- package/lib/pages/service-policies/service-policies-page.component.d.ts +36 -0
- package/lib/pages/service-policies/service-policies-page.component.d.ts.map +1 -0
- package/lib/pages/service-policies/service-policies-page.service.d.ts +63 -0
- package/lib/pages/service-policies/service-policies-page.service.d.ts.map +1 -0
- package/lib/pages/services/services-page.component.d.ts +37 -0
- package/lib/pages/services/services-page.component.d.ts.map +1 -0
- package/lib/pages/services/services-page.service.d.ts +46 -0
- package/lib/pages/services/services-page.service.d.ts.map +1 -0
- package/lib/safe.pipe.d.ts +11 -0
- package/lib/safe.pipe.d.ts.map +1 -0
- package/lib/services/console-events.service.d.ts +12 -0
- package/lib/services/console-events.service.d.ts.map +1 -0
- package/lib/services/csv-download.service.d.ts +11 -0
- package/lib/services/csv-download.service.d.ts.map +1 -0
- package/lib/services/deactivate-guard.service.d.ts +14 -0
- package/lib/services/deactivate-guard.service.d.ts.map +1 -0
- package/lib/services/login-service.class.d.ts +22 -0
- package/lib/services/login-service.class.d.ts.map +1 -0
- package/lib/services/node-data.service.d.ts +32 -0
- package/lib/services/node-data.service.d.ts.map +1 -0
- package/lib/services/noop-login.service.d.ts +23 -0
- package/lib/services/noop-login.service.d.ts.map +1 -0
- package/lib/services/schema.service.d.ts +63 -0
- package/lib/services/schema.service.d.ts.map +1 -0
- package/lib/services/settings-service.class.d.ts +35 -0
- package/lib/services/settings-service.class.d.ts.map +1 -0
- package/lib/services/settings.service.d.ts +18 -0
- package/lib/services/settings.service.d.ts.map +1 -0
- package/lib/services/tab-name.service.d.ts +20 -0
- package/lib/services/tab-name.service.d.ts.map +1 -0
- package/lib/services/validation.service.d.ts +13 -0
- package/lib/services/validation.service.d.ts.map +1 -0
- package/lib/services/ziti-controller-data.service.d.ts +32 -0
- package/lib/services/ziti-controller-data.service.d.ts.map +1 -0
- package/lib/services/ziti-data.service.d.ts +40 -0
- package/lib/services/ziti-data.service.d.ts.map +1 -0
- package/lib/services/ziti-domain-controller.service.d.ts +13 -0
- package/lib/services/ziti-domain-controller.service.d.ts.map +1 -0
- package/lib/shared/list-page-component.class.d.ts +52 -0
- package/lib/shared/list-page-component.class.d.ts.map +1 -0
- package/lib/shared/list-page-service.class.d.ts +47 -0
- package/lib/shared/list-page-service.class.d.ts.map +1 -0
- package/lib/version.d.ts +4 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/zac-routing.module.d.ts +8 -0
- package/lib/zac-routing.module.d.ts.map +1 -0
- package/lib/ziti-console-lib.module.d.ts +85 -0
- package/lib/ziti-console-lib.module.d.ts.map +1 -0
- package/lib/ziti-console.constants.d.ts +4 -0
- package/lib/ziti-console.constants.d.ts.map +1 -0
- package/openziti-ziti-console-lib.d.ts.map +1 -0
- package/package.json +48 -0
- package/public-api.d.ts +68 -0
- package/public-api.d.ts.map +1 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class Config {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.name = '';
|
|
4
|
+
this.data = {};
|
|
5
|
+
this.configTypeId = '';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL21vZGVscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLE1BQU07SUFBbkI7UUFDSSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGlCQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FBQTtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ29uZmlnIHtcbiAgICBuYW1lID0gJyc7XG4gICAgZGF0YSA9IHt9O1xuICAgIGNvbmZpZ1R5cGVJZCA9ICcnO1xufTsiXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class EdgeRouter {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.name = '';
|
|
4
|
+
this.roleAttributes = [];
|
|
5
|
+
this.appData = {};
|
|
6
|
+
this.isTunnelerEnabled = true;
|
|
7
|
+
this.noTraversal = false;
|
|
8
|
+
this.cost = 0;
|
|
9
|
+
this.tags = {};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvbW9kZWxzL2VkZ2Utcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBQ0ksU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULFNBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQUE7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVkZ2VSb3V0ZXIge1xuICAgIG5hbWUgPSAnJztcbiAgICByb2xlQXR0cmlidXRlcyA9IFtdO1xuICAgIGFwcERhdGEgPSB7fTtcbiAgICBpc1R1bm5lbGVyRW5hYmxlZCA9IHRydWU7XG4gICAgbm9UcmF2ZXJzYWwgPSBmYWxzZTtcbiAgICBjb3N0ID0gMDtcbiAgICB0YWdzID0ge307XG59OyJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright NetFoundry Inc.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export class Identity {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.name = '';
|
|
19
|
+
this.type = 'Device';
|
|
20
|
+
this.appData = {};
|
|
21
|
+
this.isAdmin = false;
|
|
22
|
+
this.roleAttributes = [];
|
|
23
|
+
this.authPolicyId = "default";
|
|
24
|
+
this.externalId = "";
|
|
25
|
+
this.defaultHostingCost = 0;
|
|
26
|
+
this.defaultHostingPrecedence = 'default';
|
|
27
|
+
this.tags = {};
|
|
28
|
+
this.enrollment = {
|
|
29
|
+
ott: true
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvbW9kZWxzL2lkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFDSSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUN6QixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2Qiw2QkFBd0IsR0FBRyxTQUFTLENBQUM7UUFDckMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGVBQVUsR0FBRztZQUNULEdBQUcsRUFBRSxJQUFJO1NBQ1osQ0FBQztJQUNOLENBQUM7Q0FBQTtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5leHBvcnQgY2xhc3MgSWRlbnRpdHkge1xuICAgIG5hbWUgPSAnJztcbiAgICB0eXBlID0gJ0RldmljZSc7XG4gICAgYXBwRGF0YSA9IHt9O1xuICAgIGlzQWRtaW4gPSBmYWxzZTtcbiAgICByb2xlQXR0cmlidXRlcyA9IFtdO1xuICAgIGF1dGhQb2xpY3lJZCA9IFwiZGVmYXVsdFwiO1xuICAgIGV4dGVybmFsSWQgPSBcIlwiO1xuICAgIGRlZmF1bHRIb3N0aW5nQ29zdCA9IDA7XG4gICAgZGVmYXVsdEhvc3RpbmdQcmVjZWRlbmNlID0gJ2RlZmF1bHQnO1xuICAgIHRhZ3MgPSB7fTtcbiAgICBlbnJvbGxtZW50ID0ge1xuICAgICAgICBvdHQ6IHRydWVcbiAgICB9O1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class ServicePolicy {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.name = '';
|
|
4
|
+
this.serviceRoles = [];
|
|
5
|
+
this.identityRoles = [];
|
|
6
|
+
this.postureCheckRoles = [];
|
|
7
|
+
this.semantic = 'AnyOf';
|
|
8
|
+
this.type = 'Bind';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
;
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvbW9kZWxzL3NlcnZpY2UtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ0ksU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztRQUM5QixhQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ25CLFNBQUksR0FBRyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUFBO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTZXJ2aWNlUG9saWN5IHtcbiAgICBuYW1lID0gJyc7XG4gICAgc2VydmljZVJvbGVzOiBhbnlbXSA9IFtdO1xuICAgIGlkZW50aXR5Um9sZXM6IGFueVtdID0gW107XG4gICAgcG9zdHVyZUNoZWNrUm9sZXM6IGFueVtdID0gW107XG4gICAgc2VtYW50aWMgPSAnQW55T2YnO1xuICAgIHR5cGUgPSAnQmluZCc7XG59OyJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class Service {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.name = '';
|
|
4
|
+
this.encryptionRequired = true;
|
|
5
|
+
this.terminatorStrategy = '';
|
|
6
|
+
this.roleAttributes = [];
|
|
7
|
+
this.tags = {};
|
|
8
|
+
this.configs = [];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
;
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9tb2RlbHMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sT0FBTztJQUFwQjtRQUNJLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLG1CQUFjLEdBQVUsRUFBRSxDQUFDO1FBQzNCLFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixZQUFPLEdBQVUsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7Q0FBQTtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU2VydmljZSB7XG4gICAgbmFtZSA9ICcnO1xuICAgIGVuY3J5cHRpb25SZXF1aXJlZCA9IHRydWU7XG4gICAgdGVybWluYXRvclN0cmF0ZWd5ID0gJyc7XG4gICAgcm9sZUF0dHJpYnV0ZXM6IGFueVtdID0gW107XG4gICAgdGFnczogYW55ID0ge307XG4gICAgY29uZmlnczogYW55W10gPSBbXVxufTsiXX0=
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright NetFoundry Inc.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component } from '@angular/core';
|
|
17
|
+
import { ListPageComponent } from "../../shared/list-page-component.class";
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "./configurations-page.service";
|
|
20
|
+
import * as i2 from "../../features/data-table/data-table-filter.service";
|
|
21
|
+
import * as i3 from "../../services/tab-name.service";
|
|
22
|
+
import * as i4 from "../../services/console-events.service";
|
|
23
|
+
import * as i5 from "@angular/material/dialog";
|
|
24
|
+
import * as i6 from "@angular/common";
|
|
25
|
+
import * as i7 from "../../features/projectable-forms/configuration/configuration-form.component";
|
|
26
|
+
import * as i8 from "../../features/list-page-features/list-page-header/list-page-header.component";
|
|
27
|
+
import * as i9 from "../../features/data-table/data-table.component";
|
|
28
|
+
import * as i10 from "../../features/side-modal/side-modal.component";
|
|
29
|
+
class ConfigurationsPageComponent extends ListPageComponent {
|
|
30
|
+
constructor(svc, filterService, tabNames, consoleEvents, dialogForm) {
|
|
31
|
+
super(filterService, svc, consoleEvents, dialogForm);
|
|
32
|
+
this.svc = svc;
|
|
33
|
+
this.tabNames = tabNames;
|
|
34
|
+
this.title = 'Configuration Management';
|
|
35
|
+
this.formDataChanged = false;
|
|
36
|
+
}
|
|
37
|
+
ngOnInit() {
|
|
38
|
+
this.tabs = this.tabNames.getTabs('services');
|
|
39
|
+
this.svc.refreshData = this.refreshData;
|
|
40
|
+
this.svc.getConfigTypes().then((result) => {
|
|
41
|
+
console.log(result);
|
|
42
|
+
});
|
|
43
|
+
super.ngOnInit();
|
|
44
|
+
}
|
|
45
|
+
headerActionClicked(action) {
|
|
46
|
+
switch (action) {
|
|
47
|
+
case 'add':
|
|
48
|
+
this.svc.openUpdate();
|
|
49
|
+
break;
|
|
50
|
+
case 'edit':
|
|
51
|
+
this.svc.openUpdate(action);
|
|
52
|
+
break;
|
|
53
|
+
case 'delete':
|
|
54
|
+
const selectedItems = this.rowData.filter((row) => {
|
|
55
|
+
return row.selected;
|
|
56
|
+
});
|
|
57
|
+
const label = selectedItems.length > 1 ? 'configurations' : 'configuration';
|
|
58
|
+
this.openBulkDelete(selectedItems, label);
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
tableAction(event) {
|
|
64
|
+
switch (event?.action) {
|
|
65
|
+
case 'toggleAll':
|
|
66
|
+
case 'toggleItem':
|
|
67
|
+
this.itemToggled(event.item);
|
|
68
|
+
break;
|
|
69
|
+
case 'update':
|
|
70
|
+
this.svc.openUpdate(event.item);
|
|
71
|
+
break;
|
|
72
|
+
case 'create':
|
|
73
|
+
this.svc.openUpdate();
|
|
74
|
+
break;
|
|
75
|
+
case 'delete':
|
|
76
|
+
this.deleteItem(event.item);
|
|
77
|
+
break;
|
|
78
|
+
default:
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
deleteItem(item) {
|
|
83
|
+
this.openBulkDelete([item], 'config');
|
|
84
|
+
}
|
|
85
|
+
closeModal(event) {
|
|
86
|
+
this.svc.sideModalOpen = false;
|
|
87
|
+
if (event?.refresh) {
|
|
88
|
+
this.refreshData();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
dataChanged(event) {
|
|
92
|
+
this.formDataChanged = event;
|
|
93
|
+
}
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsPageComponent, deps: [{ token: i1.ConfigurationsPageService }, { token: i2.DataTableFilterService }, { token: i3.TabNameService }, { token: i4.ConsoleEventsService }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfigurationsPageComponent, selector: "lib-configurations", usesInheritance: true, ngImport: i0, template: "<div class=\"ziti-page-container ziti-configs-container\">\n <lib-list-page-header [title]=\"title\"\n [tabs]=\"tabs\"\n [showAdd]=\"!itemsSelected\"\n (actionClicked)=\"headerActionClicked($event)\"></lib-list-page-header>\n\n <lib-data-table [tableId]=\"'configurations'\"\n [rowData]=\"rowData\"\n [columnDefinitions]=\"columnDefs\"\n (actionRequested)=\"tableAction($event)\"\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [emptyMsg]=\"'No Configurations defined, Click the plus to add a Configuration.'\"\n [filterApplied]=\"filterApplied\"\n [menuItems]=\"svc.menuItems\"\n (gridReady)=\"gridReady($event)\"\n >\n </lib-data-table>\n\n <lib-side-modal [(open)]=\"svc.sideModalOpen\" [showClose]=\"false\">\n <lib-configuration\n *ngIf=\"svc.sideModalOpen\"\n [formData]=\"svc.selectedConfig\"\n (close)=\"closeModal($event)\"\n (dataChange)=\"dataChanged($event)\">\n </lib-configuration>\n </lib-side-modal>\n</div>\n", styles: [".configurations{width:100%;height:100%;display:flex;flex-direction:column;position:relative;flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.ConfigurationFormComponent, selector: "lib-configuration", inputs: ["formData", "errors"], outputs: ["close"] }, { kind: "component", type: i8.ListPageHeaderComponent, selector: "lib-list-page-header", inputs: ["title", "tabs", "showAdd", "hideAction"], outputs: ["actionClicked"] }, { kind: "component", type: i9.DataTableComponent, selector: "lib-data-table", inputs: ["rowData", "expandRowData", "collapseRowData", "rowValidation", "isTimeSearchAvailable", "isLoading", "tableId", "options", "validateService", "rowsToggled", "tableRefreshCount", "view", "serverSideDataSource", "allowDownload", "startCount", "endCount", "totalCount", "emptyMsg", "filterApplied", "menuItems", "headerActions", "noItemsClass", "entityTypeName", "showNoItemsAdd", "currentPage", "noItemsImage", "columnDefinitions", "refreshCount"], outputs: ["actionRequested", "gridReady", "dragStart", "dragLeave", "pageChanged"] }, { kind: "component", type: i10.SideModalComponent, selector: "lib-side-modal", inputs: ["showClose", "open"], outputs: ["openChange"] }] }); }
|
|
96
|
+
}
|
|
97
|
+
export { ConfigurationsPageComponent };
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsPageComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: 'lib-configurations', template: "<div class=\"ziti-page-container ziti-configs-container\">\n <lib-list-page-header [title]=\"title\"\n [tabs]=\"tabs\"\n [showAdd]=\"!itemsSelected\"\n (actionClicked)=\"headerActionClicked($event)\"></lib-list-page-header>\n\n <lib-data-table [tableId]=\"'configurations'\"\n [rowData]=\"rowData\"\n [columnDefinitions]=\"columnDefs\"\n (actionRequested)=\"tableAction($event)\"\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [emptyMsg]=\"'No Configurations defined, Click the plus to add a Configuration.'\"\n [filterApplied]=\"filterApplied\"\n [menuItems]=\"svc.menuItems\"\n (gridReady)=\"gridReady($event)\"\n >\n </lib-data-table>\n\n <lib-side-modal [(open)]=\"svc.sideModalOpen\" [showClose]=\"false\">\n <lib-configuration\n *ngIf=\"svc.sideModalOpen\"\n [formData]=\"svc.selectedConfig\"\n (close)=\"closeModal($event)\"\n (dataChange)=\"dataChanged($event)\">\n </lib-configuration>\n </lib-side-modal>\n</div>\n", styles: [".configurations{width:100%;height:100%;display:flex;flex-direction:column;position:relative;flex:1 1 auto}\n"] }]
|
|
101
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigurationsPageService }, { type: i2.DataTableFilterService }, { type: i3.TabNameService }, { type: i4.ConsoleEventsService }, { type: i5.MatDialog }]; } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvY29uZmlndXJhdGlvbnMvY29uZmlndXJhdGlvbnMtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvY29uZmlndXJhdGlvbnMvY29uZmlndXJhdGlvbnMtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFJaEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7OztBQUt6RSxNQUthLDJCQUE0QixTQUFRLGlCQUFpQjtJQU05RCxZQUNhLEdBQThCLEVBQ3ZDLGFBQXFDLEVBQzdCLFFBQXdCLEVBQ2hDLGFBQW1DLEVBQ25DLFVBQXFCO1FBRXJCLEtBQUssQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQU41QyxRQUFHLEdBQUgsR0FBRyxDQUEyQjtRQUUvQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQVJwQyxVQUFLLEdBQUcsMEJBQTBCLENBQUE7UUFHbEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFVeEIsQ0FBQztJQUVRLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFjO1FBQzlCLFFBQVEsTUFBTSxFQUFFO1lBQ1osS0FBSyxLQUFLO2dCQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3RCLE1BQU07WUFDVixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVCLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDOUMsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUN4QixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztnQkFDNUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzFDLE1BQU07WUFDVixRQUFRO1NBQ1g7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsUUFBTyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ2xCLEtBQUssV0FBVyxDQUFDO1lBQ2pCLEtBQUssWUFBWTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDNUIsTUFBTTtZQUNWLEtBQUssUUFBUTtnQkFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDdEIsTUFBTTtZQUNWLEtBQUssUUFBUTtnQkFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDM0IsTUFBTTtZQUNWO2dCQUNJLE1BQU07U0FDYjtJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBUztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDOytHQTdFUSwyQkFBMkI7bUdBQTNCLDJCQUEyQixpRkM5QnhDLDR5Q0E2QkE7O1NEQ2EsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RhdGFUYWJsZUZpbHRlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7Q29uZmlndXJhdGlvbnNQYWdlU2VydmljZX0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMtcGFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1RhYk5hbWVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGFiLW5hbWUuc2VydmljZVwiO1xuaW1wb3J0IHtMaXN0UGFnZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9saXN0LXBhZ2UtY29tcG9uZW50LmNsYXNzXCI7XG5pbXBvcnQge0NvbnNvbGVFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY29uc29sZS1ldmVudHMuc2VydmljZVwiO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1jb25maWd1cmF0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb25zLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbmZpZ3VyYXRpb25zLXBhZ2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uc1BhZ2VDb21wb25lbnQgZXh0ZW5kcyBMaXN0UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgdGl0bGUgPSAnQ29uZmlndXJhdGlvbiBNYW5hZ2VtZW50J1xuICAgIHRhYnM6IHsgdXJsOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfVtdIDtcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgZm9ybURhdGFDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcnJpZGUgc3ZjOiBDb25maWd1cmF0aW9uc1BhZ2VTZXJ2aWNlLFxuICAgICAgICBmaWx0ZXJTZXJ2aWNlOiBEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhYk5hbWVzOiBUYWJOYW1lU2VydmljZSxcbiAgICAgICAgY29uc29sZUV2ZW50czogQ29uc29sZUV2ZW50c1NlcnZpY2UsXG4gICAgICAgIGRpYWxvZ0Zvcm06IE1hdERpYWxvZ1xuICAgICkge1xuICAgICAgICBzdXBlcihmaWx0ZXJTZXJ2aWNlLCBzdmMsIGNvbnNvbGVFdmVudHMsIGRpYWxvZ0Zvcm0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnRhYnMgPSB0aGlzLnRhYk5hbWVzLmdldFRhYnMoJ3NlcnZpY2VzJyk7XG4gICAgICAgIHRoaXMuc3ZjLnJlZnJlc2hEYXRhID0gdGhpcy5yZWZyZXNoRGF0YTtcbiAgICAgICAgdGhpcy5zdmMuZ2V0Q29uZmlnVHlwZXMoKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIGhlYWRlckFjdGlvbkNsaWNrZWQoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ2FkZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5zdmMub3BlblVwZGF0ZSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZWRpdCc6XG4gICAgICAgICAgICAgICAgdGhpcy5zdmMub3BlblVwZGF0ZShhY3Rpb24pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gdGhpcy5yb3dEYXRhLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByb3cuc2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDEgPyAnY29uZmlndXJhdGlvbnMnIDogJ2NvbmZpZ3VyYXRpb24nO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkJ1bGtEZWxldGUoc2VsZWN0ZWRJdGVtcywgbGFiZWwpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlQWN0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgc3dpdGNoKGV2ZW50Py5hY3Rpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvZ2dsZUFsbCc6XG4gICAgICAgICAgICBjYXNlICd0b2dnbGVJdGVtJzpcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1Ub2dnbGVkKGV2ZW50Lml0ZW0pXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc3ZjLm9wZW5VcGRhdGUoZXZlbnQuaXRlbSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc3ZjLm9wZW5VcGRhdGUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5kZWxldGVJdGVtKGV2ZW50Lml0ZW0pXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVsZXRlSXRlbShpdGVtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vcGVuQnVsa0RlbGV0ZShbaXRlbV0sICdjb25maWcnKTtcbiAgICB9XG5cbiAgICBjbG9zZU1vZGFsKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5zdmMuc2lkZU1vZGFsT3BlbiA9IGZhbHNlO1xuICAgICAgICBpZihldmVudD8ucmVmcmVzaCkge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGF0YUNoYW5nZWQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb3JtRGF0YUNoYW5nZWQgPSBldmVudDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwieml0aS1wYWdlLWNvbnRhaW5lciB6aXRpLWNvbmZpZ3MtY29udGFpbmVyXCI+XG4gICAgPGxpYi1saXN0LXBhZ2UtaGVhZGVyIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJzXT1cInRhYnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0FkZF09XCIhaXRlbXNTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb25DbGlja2VkKT1cImhlYWRlckFjdGlvbkNsaWNrZWQoJGV2ZW50KVwiPjwvbGliLWxpc3QtcGFnZS1oZWFkZXI+XG5cbiAgICA8bGliLWRhdGEtdGFibGUgW3RhYmxlSWRdPVwiJ2NvbmZpZ3VyYXRpb25zJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtyb3dEYXRhXT1cInJvd0RhdGFcIlxuICAgICAgICAgICAgICAgICAgICBbY29sdW1uRGVmaW5pdGlvbnNdPVwiY29sdW1uRGVmc1wiXG4gICAgICAgICAgICAgICAgICAgIChhY3Rpb25SZXF1ZXN0ZWQpPVwidGFibGVBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdGFydENvdW50XT1cInN0YXJ0Q291bnRcIlxuICAgICAgICAgICAgICAgICAgICBbZW5kQ291bnRdPVwiZW5kQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICBbdG90YWxDb3VudF09XCJ0b3RhbENvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2VtcHR5TXNnXT1cIidObyBDb25maWd1cmF0aW9ucyBkZWZpbmVkLCBDbGljayB0aGUgcGx1cyB0byBhZGQgYSBDb25maWd1cmF0aW9uLidcIlxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQXBwbGllZF09XCJmaWx0ZXJBcHBsaWVkXCJcbiAgICAgICAgICAgICAgICAgICAgW21lbnVJdGVtc109XCJzdmMubWVudUl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgKGdyaWRSZWFkeSk9XCJncmlkUmVhZHkoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvbGliLWRhdGEtdGFibGU+XG5cbiAgICA8bGliLXNpZGUtbW9kYWwgWyhvcGVuKV09XCJzdmMuc2lkZU1vZGFsT3BlblwiIFtzaG93Q2xvc2VdPVwiZmFsc2VcIj5cbiAgICAgICAgPGxpYi1jb25maWd1cmF0aW9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzdmMuc2lkZU1vZGFsT3BlblwiXG4gICAgICAgICAgICAgICAgW2Zvcm1EYXRhXT1cInN2Yy5zZWxlY3RlZENvbmZpZ1wiXG4gICAgICAgICAgICAgICAgKGNsb3NlKT1cImNsb3NlTW9kYWwoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGRhdGFDaGFuZ2UpPVwiZGF0YUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICA8L2xpYi1jb25maWd1cmF0aW9uPlxuICAgIDwvbGliLXNpZGUtbW9kYWw+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright NetFoundry Inc.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Inject, Injectable } from '@angular/core';
|
|
17
|
+
import _, { isEmpty, unset } from "lodash";
|
|
18
|
+
import { ListPageServiceClass } from "../../shared/list-page-service.class";
|
|
19
|
+
import { TableColumnDefaultComponent } from "../../features/data-table/column-headers/table-column-default/table-column-default.component";
|
|
20
|
+
import { SETTINGS_SERVICE } from "../../services/settings.service";
|
|
21
|
+
import { SHAREDZ_EXTENSION } from "../../features/extendable/extensions-noop.service";
|
|
22
|
+
import { Service } from "../../models/service";
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
import * as i1 from "../../services/schema.service";
|
|
25
|
+
import * as i2 from "../../features/data-table/data-table-filter.service";
|
|
26
|
+
import * as i3 from "../../services/csv-download.service";
|
|
27
|
+
import * as i4 from "../../services/settings.service";
|
|
28
|
+
class ConfigurationsPageService extends ListPageServiceClass {
|
|
29
|
+
constructor(schemaSvc, settings, filterService, csvDownloadService, extService) {
|
|
30
|
+
super(settings, filterService, csvDownloadService, extService);
|
|
31
|
+
this.schemaSvc = schemaSvc;
|
|
32
|
+
this.paging = this.DEFAULT_PAGING;
|
|
33
|
+
this.resourceType = 'configs';
|
|
34
|
+
this.selectedConfig = {};
|
|
35
|
+
this.modalType = '';
|
|
36
|
+
this.menuItems = [
|
|
37
|
+
{ name: 'Edit', action: 'update' },
|
|
38
|
+
{ name: 'Delete', action: 'delete' },
|
|
39
|
+
];
|
|
40
|
+
this._typeHeaderComponentParams = {
|
|
41
|
+
filterType: 'SELECT',
|
|
42
|
+
enableSorting: true,
|
|
43
|
+
filterOptions: [
|
|
44
|
+
{ label: 'ALL', value: '' },
|
|
45
|
+
],
|
|
46
|
+
getFilterOptions: () => {
|
|
47
|
+
return this.typeHeaderComponentParams.filterOptions;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
this.validate = (formData, schema) => {
|
|
51
|
+
let errors = {};
|
|
52
|
+
if (schema) {
|
|
53
|
+
for (var key in schema.properties) {
|
|
54
|
+
var property = schema.properties[key];
|
|
55
|
+
errors = { ...errors, ...this.validateProperty(key, property, formData, schema) };
|
|
56
|
+
}
|
|
57
|
+
return Promise.resolve({ passed: _.isEmpty(errors), errors });
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
throw new Error('no schema definition selected');
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
initTableColumns() {
|
|
65
|
+
const typeRenderer = (row) => {
|
|
66
|
+
return row?.data?.configType?.name;
|
|
67
|
+
};
|
|
68
|
+
const createdAtHeaderComponentParams = {
|
|
69
|
+
filterType: 'DATETIME',
|
|
70
|
+
};
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
colId: 'name',
|
|
74
|
+
field: 'name',
|
|
75
|
+
headerName: 'Name',
|
|
76
|
+
headerComponent: TableColumnDefaultComponent,
|
|
77
|
+
headerComponentParams: this.headerComponentParams,
|
|
78
|
+
cellRenderer: this.nameColumnRenderer,
|
|
79
|
+
onCellClicked: (data) => {
|
|
80
|
+
if (this.hasSelectedText()) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this.openUpdate(data.data);
|
|
84
|
+
},
|
|
85
|
+
resizable: true,
|
|
86
|
+
cellClass: 'nf-cell-vert-align tCol',
|
|
87
|
+
sortable: true,
|
|
88
|
+
filter: true,
|
|
89
|
+
sortColumn: this.sort.bind(this)
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
colId: 'type',
|
|
93
|
+
field: 'type',
|
|
94
|
+
headerName: 'Type',
|
|
95
|
+
headerComponent: TableColumnDefaultComponent,
|
|
96
|
+
headerComponentParams: this.typeHeaderComponentParams,
|
|
97
|
+
cellRenderer: typeRenderer,
|
|
98
|
+
resizable: true,
|
|
99
|
+
cellClass: 'nf-cell-vert-align tCol',
|
|
100
|
+
sortable: true,
|
|
101
|
+
filter: true,
|
|
102
|
+
sortColumn: this.sort.bind(this),
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
colId: 'createdAt',
|
|
106
|
+
field: 'createdAt',
|
|
107
|
+
headerName: 'Created At',
|
|
108
|
+
headerComponent: TableColumnDefaultComponent,
|
|
109
|
+
headerComponentParams: createdAtHeaderComponentParams,
|
|
110
|
+
valueFormatter: this.createdAtFormatter,
|
|
111
|
+
resizable: true,
|
|
112
|
+
cellClass: 'nf-cell-vert-align tCol',
|
|
113
|
+
}
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
get typeHeaderComponentParams() {
|
|
117
|
+
return this._typeHeaderComponentParams;
|
|
118
|
+
}
|
|
119
|
+
set typeHeaderComponentParams(params) {
|
|
120
|
+
this._typeHeaderComponentParams = params;
|
|
121
|
+
}
|
|
122
|
+
getConfigTypes() {
|
|
123
|
+
const sort = {
|
|
124
|
+
ordering: 'asc',
|
|
125
|
+
sortBy: 'name'
|
|
126
|
+
};
|
|
127
|
+
return super.getTableData('config-types', this.DEFAULT_PAGING, [], sort)
|
|
128
|
+
.then((results) => {
|
|
129
|
+
this.typeHeaderComponentParams.filterOptions = [{ label: 'ALL', value: '' }];
|
|
130
|
+
results.data.forEach((configType) => {
|
|
131
|
+
this.typeHeaderComponentParams.filterOptions.push({
|
|
132
|
+
label: configType.name,
|
|
133
|
+
value: configType.id
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
return this.typeHeaderComponentParams;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
getData(filters, sort) {
|
|
140
|
+
// we can customize filters or sorting here before moving on...
|
|
141
|
+
return super.getTableData('configs', this.paging, filters, sort)
|
|
142
|
+
.then((results) => {
|
|
143
|
+
return this.processData(results);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
validateProperty(key, property, formData, schema, parentKey) {
|
|
147
|
+
let errors = {};
|
|
148
|
+
var type = this.schemaSvc.getType(property);
|
|
149
|
+
if (type == "object") {
|
|
150
|
+
for (var subKey in property.properties) {
|
|
151
|
+
errors = { ...errors, ...this.validateProperty(subKey, property.properties[subKey], formData, schema, key) };
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
var theValue = _.get(formData, key);
|
|
156
|
+
if (type == "integer") {
|
|
157
|
+
if (schema.required && schema.required.includes(key)) {
|
|
158
|
+
var min = null;
|
|
159
|
+
var max = null;
|
|
160
|
+
if (property.minimum)
|
|
161
|
+
min = Number(property.minimum);
|
|
162
|
+
if (property.maximum)
|
|
163
|
+
max = Number(property.maximum);
|
|
164
|
+
if (isNaN(parseInt(theValue))) {
|
|
165
|
+
errors[key] = 'invalid number';
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
var val = Number(theValue);
|
|
169
|
+
if (min != null && val < min) {
|
|
170
|
+
errors[key] = `minimum value ${min} expected`;
|
|
171
|
+
}
|
|
172
|
+
if (max != null && val > max) {
|
|
173
|
+
errors[key] = `maximum value ${max} expected`;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else if (type == "array") {
|
|
179
|
+
// if (schema.required && schema.required.includes(key)) {
|
|
180
|
+
// if ($("#" + ((parentKey != null) ? parentKey + '_' : '') + "schema_" + key).hasClass("checkboxList")) {
|
|
181
|
+
// var obj = $("#" + ((parentKey != null) ? parentKey + '_' : '') + "schema_" + key);
|
|
182
|
+
// var total = obj.data("total");
|
|
183
|
+
// var hasSelection = false;
|
|
184
|
+
// for (var i = 0; i < total; i++) {
|
|
185
|
+
// var item = $("#" + ((parentKey != null) ? parentKey + '_' : '') + "schema_" + key + "_" + i);
|
|
186
|
+
// if (item.hasClass("checked")) {
|
|
187
|
+
// hasSelection = true;
|
|
188
|
+
// break;
|
|
189
|
+
// }
|
|
190
|
+
// }
|
|
191
|
+
// if (!hasSelection) $("#" + ((parentKey != null) ? parentKey + '_' : '') + "schema_" + key).addClass("errors");
|
|
192
|
+
// } else {
|
|
193
|
+
// if ($("#" + ((parentKey != null) ? parentKey + '_' : '') + "schema_" + key + "_selected").children().length == 0) elem.addClass("errors");
|
|
194
|
+
// }
|
|
195
|
+
// }
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
if (schema.required && schema.required.includes(key) && theValue.length == 0) {
|
|
199
|
+
errors[key] = `${key} required`;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return errors;
|
|
204
|
+
}
|
|
205
|
+
processData(results) {
|
|
206
|
+
if (!isEmpty(results?.data)) {
|
|
207
|
+
//pre-process data before rendering
|
|
208
|
+
results.data = this.addActionsPerRow(results);
|
|
209
|
+
}
|
|
210
|
+
return results;
|
|
211
|
+
}
|
|
212
|
+
addActionsPerRow(results) {
|
|
213
|
+
return results.data.map((row) => {
|
|
214
|
+
row.actionList = ['update', 'delete'];
|
|
215
|
+
return row;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
openUpdate(item) {
|
|
219
|
+
this.modalType = 'config';
|
|
220
|
+
if (item) {
|
|
221
|
+
this.selectedConfig = item;
|
|
222
|
+
this.selectedConfig.badges = [];
|
|
223
|
+
unset(this.selectedConfig, '_links');
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
this.selectedConfig = new Service();
|
|
227
|
+
}
|
|
228
|
+
this.sideModalOpen = true;
|
|
229
|
+
}
|
|
230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsPageService, deps: [{ token: i1.SchemaService }, { token: SETTINGS_SERVICE }, { token: i2.DataTableFilterService }, { token: i3.CsvDownloadService }, { token: SHAREDZ_EXTENSION }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
231
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsPageService, providedIn: 'root' }); }
|
|
232
|
+
}
|
|
233
|
+
export { ConfigurationsPageService };
|
|
234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsPageService, decorators: [{
|
|
235
|
+
type: Injectable,
|
|
236
|
+
args: [{
|
|
237
|
+
providedIn: 'root'
|
|
238
|
+
}]
|
|
239
|
+
}], ctorParameters: function () { return [{ type: i1.SchemaService }, { type: i4.SettingsService, decorators: [{
|
|
240
|
+
type: Inject,
|
|
241
|
+
args: [SETTINGS_SERVICE]
|
|
242
|
+
}] }, { type: i2.DataTableFilterService }, { type: i3.CsvDownloadService }, { type: undefined, decorators: [{
|
|
243
|
+
type: Inject,
|
|
244
|
+
args: [SHAREDZ_EXTENSION]
|
|
245
|
+
}] }]; } });
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sQ0FBQyxFQUFFLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUV6QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsMkJBQTJCLEVBQzlCLE1BQU0sOEZBQThGLENBQUM7QUFHdEcsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLGlDQUFpQyxDQUFDO0FBRWxGLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUU3QyxNQUdhLHlCQUEwQixTQUFRLG9CQUFvQjtJQWEvRCxZQUNZLFNBQXdCLEVBQ04sUUFBeUIsRUFDbkQsYUFBcUMsRUFDckMsa0JBQXNDLEVBQ1gsVUFBNEI7UUFFdkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFOdkQsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQVo1QixXQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVyQyxpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUN6QixtQkFBYyxHQUFRLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRU4sY0FBUyxHQUFHO1lBQ2pCLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDO1lBQ2hDLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDO1NBQ3JDLENBQUE7UUFtRUQsK0JBQTBCLEdBQUc7WUFDekIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFBYSxFQUFFO2dCQUNYLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2FBQzlCO1lBQ0QsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUM7WUFDeEQsQ0FBQztTQUNKLENBQUM7UUFvQ0YsYUFBUSxHQUFHLENBQUMsUUFBWSxFQUFFLE1BQVcsRUFBNEIsRUFBRTtZQUMvRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBRyxNQUFNLEVBQUU7Z0JBQ1AsS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO29CQUMvQixJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0QyxNQUFNLEdBQUcsRUFBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBQyxDQUFDO2lCQUNuRjtnQkFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQzthQUNwRDtRQUNMLENBQUMsQ0FBQTtJQWpIRCxDQUFDO0lBRUQsZ0JBQWdCO1FBRVosTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN6QixPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQztRQUN2QyxDQUFDLENBQUM7UUFFRixNQUFNLDhCQUE4QixHQUFHO1lBQ25DLFVBQVUsRUFBRSxVQUFVO1NBQ3pCLENBQUM7UUFDRixPQUFPO1lBQ0g7Z0JBQ0ksS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsVUFBVSxFQUFFLE1BQU07Z0JBQ2xCLGVBQWUsRUFBRSwyQkFBMkI7Z0JBQzVDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7Z0JBQ2pELFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUNyQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUU7d0JBQ3hCLE9BQU87cUJBQ1Y7b0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLENBQUM7Z0JBQ0QsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLHlCQUF5QjtnQkFDcEMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsTUFBTSxFQUFFLElBQUk7Z0JBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNuQztZQUNEO2dCQUNJLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxNQUFNO2dCQUNiLFVBQVUsRUFBRSxNQUFNO2dCQUNsQixlQUFlLEVBQUUsMkJBQTJCO2dCQUM1QyxxQkFBcUIsRUFBRSxJQUFJLENBQUMseUJBQXlCO2dCQUNyRCxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLHlCQUF5QjtnQkFDcEMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsTUFBTSxFQUFFLElBQUk7Z0JBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNuQztZQUNEO2dCQUNJLEtBQUssRUFBRSxXQUFXO2dCQUNsQixLQUFLLEVBQUUsV0FBVztnQkFDbEIsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLGVBQWUsRUFBRSwyQkFBMkI7Z0JBQzVDLHFCQUFxQixFQUFFLDhCQUE4QjtnQkFDckQsY0FBYyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7Z0JBQ3ZDLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFNBQVMsRUFBRSx5QkFBeUI7YUFDdkM7U0FDSixDQUFDO0lBQ04sQ0FBQztJQWFELElBQUkseUJBQXlCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLHlCQUF5QixDQUFDLE1BQU07UUFDaEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLE1BQU0sQ0FBQztJQUM3QyxDQUFDO0lBRUQsY0FBYztRQUNWLE1BQU0sSUFBSSxHQUFHO1lBQ1QsUUFBUSxFQUFFLEtBQUs7WUFDZixNQUFNLEVBQUUsTUFBTTtTQUNqQixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDbkUsSUFBSSxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3RSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDOUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUN0QixLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUU7aUJBQ3ZCLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQXFCLEVBQUUsSUFBVTtRQUNyQywrREFBK0Q7UUFDL0QsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7YUFDM0QsSUFBSSxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQWVELGdCQUFnQixDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFVO1FBQ3hELElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNmLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUNsQixLQUFLLElBQUksTUFBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BDLE1BQU0sR0FBRyxFQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUMsQ0FBQzthQUM5RztTQUNKO2FBQU07WUFDSCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUMzQyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7Z0JBQ25CLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO29CQUNmLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQztvQkFDZixJQUFJLFFBQVEsQ0FBQyxPQUFPO3dCQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyRCxJQUFJLFFBQVEsQ0FBQyxPQUFPO3dCQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTt3QkFDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO3FCQUNuQzt5QkFDSTt3QkFDRCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzNCLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFOzRCQUMxQixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLEdBQUcsV0FBVyxDQUFDO3lCQUNqRDt3QkFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTs0QkFDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGlCQUFpQixHQUFHLFdBQVcsQ0FBQzt5QkFDakQ7cUJBQ0o7aUJBQ0o7YUFDSjtpQkFBTSxJQUFJLElBQUksSUFBSSxPQUFPLEVBQUU7Z0JBQ3hCLDBEQUEwRDtnQkFDMUQsOEdBQThHO2dCQUM5Ryw2RkFBNkY7Z0JBQzdGLHlDQUF5QztnQkFDekMsb0NBQW9DO2dCQUNwQyw0Q0FBNEM7Z0JBQzVDLDRHQUE0RztnQkFDNUcsOENBQThDO2dCQUM5Qyx1Q0FBdUM7Z0JBQ3ZDLHlCQUF5QjtnQkFDekIsZ0JBQWdCO2dCQUNoQixZQUFZO2dCQUNaLHlIQUF5SDtnQkFDekgsZUFBZTtnQkFDZixxSkFBcUo7Z0JBQ3JKLFFBQVE7Z0JBQ1IsSUFBSTthQUNQO2lCQUFNO2dCQUNILElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtvQkFDMUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUM7aUJBQ25DO2FBQ0o7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxXQUFXLENBQUMsT0FBWTtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN6QixtQ0FBbUM7WUFDbkMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBWTtRQUNqQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUIsR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN0QyxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFVO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3hDO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDOytHQXhOUSx5QkFBeUIsK0NBZXRCLGdCQUFnQixxRkFHaEIsaUJBQWlCO21IQWxCcEIseUJBQXlCLGNBRnRCLE1BQU07O1NBRVQseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFnQlEsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUd2QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZSwgRmlsdGVyT2JqfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgXywge2lzRW1wdHksIHVuc2V0fSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7TGlzdFBhZ2VTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zaGFyZWQvbGlzdC1wYWdlLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7XG4gICAgVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50XG59IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1kZWZhdWx0L3RhYmxlLWNvbHVtbi1kZWZhdWx0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDYWxsYmFja1Jlc3VsdHN9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9saXN0LXBhZ2UtZmVhdHVyZXMvbGlzdC1wYWdlLWZvcm0vbGlzdC1wYWdlLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge1NjaGVtYVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zY2hlbWEuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge0NzdkRvd25sb2FkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2Nzdi1kb3dubG9hZC5zZXJ2aWNlXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NlcnZpY2VcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uc1BhZ2VTZXJ2aWNlIGV4dGVuZHMgTGlzdFBhZ2VTZXJ2aWNlQ2xhc3Mge1xuXG4gICAgcHJpdmF0ZSBwYWdpbmcgPSB0aGlzLkRFRkFVTFRfUEFHSU5HO1xuXG4gICAgcmVzb3VyY2VUeXBlID0gJ2NvbmZpZ3MnO1xuICAgIHNlbGVjdGVkQ29uZmlnOiBhbnkgPSB7fTtcbiAgICBtb2RhbFR5cGUgPSAnJztcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRGVsZXRlJywgYWN0aW9uOiAnZGVsZXRlJ30sXG4gICAgXVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2NoZW1hU3ZjOiBTY2hlbWFTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIGNzdkRvd25sb2FkU2VydmljZTogQ3N2RG93bmxvYWRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNIQVJFRFpfRVhURU5TSU9OKSBleHRTZXJ2aWNlOiBFeHRlbnNpb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHNldHRpbmdzLCBmaWx0ZXJTZXJ2aWNlLCBjc3ZEb3dubG9hZFNlcnZpY2UsIGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIGluaXRUYWJsZUNvbHVtbnMoKTogYW55IHtcblxuICAgICAgICBjb25zdCB0eXBlUmVuZGVyZXIgPSAocm93KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcm93Py5kYXRhPy5jb25maWdUeXBlPy5uYW1lO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRBdEhlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdEQVRFVElNRScsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdOYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHRoaXMuaGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5uYW1lQ29sdW1uUmVuZGVyZXIsXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5VcGRhdGUoZGF0YS5kYXRhKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAndHlwZScsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0eXBlJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnVHlwZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiB0aGlzLnR5cGVIZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiB0eXBlUmVuZGVyZXIsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ0NyZWF0ZWQgQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogY3JlYXRlZEF0SGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmNyZWF0ZWRBdEZvcm1hdHRlcixcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIF90eXBlSGVhZGVyQ29tcG9uZW50UGFyYW1zID0ge1xuICAgICAgICBmaWx0ZXJUeXBlOiAnU0VMRUNUJyxcbiAgICAgICAgZW5hYmxlU29ydGluZzogdHJ1ZSxcbiAgICAgICAgZmlsdGVyT3B0aW9uczogW1xuICAgICAgICAgICAgeyBsYWJlbDogJ0FMTCcsIHZhbHVlOiAnJyB9LFxuICAgICAgICBdLFxuICAgICAgICBnZXRGaWx0ZXJPcHRpb25zOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50eXBlSGVhZGVyQ29tcG9uZW50UGFyYW1zLmZpbHRlck9wdGlvbnM7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2V0IHR5cGVIZWFkZXJDb21wb25lbnRQYXJhbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlSGVhZGVyQ29tcG9uZW50UGFyYW1zO1xuICAgIH1cblxuICAgIHNldCB0eXBlSGVhZGVyQ29tcG9uZW50UGFyYW1zKHBhcmFtcykge1xuICAgICAgICB0aGlzLl90eXBlSGVhZGVyQ29tcG9uZW50UGFyYW1zID0gcGFyYW1zO1xuICAgIH1cblxuICAgIGdldENvbmZpZ1R5cGVzKCkge1xuICAgICAgICBjb25zdCBzb3J0ID0ge1xuICAgICAgICAgICAgb3JkZXJpbmc6ICdhc2MnLFxuICAgICAgICAgICAgc29ydEJ5OiAnbmFtZSdcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldFRhYmxlRGF0YSgnY29uZmlnLXR5cGVzJywgdGhpcy5ERUZBVUxUX1BBR0lORywgW10sIHNvcnQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlSGVhZGVyQ29tcG9uZW50UGFyYW1zLmZpbHRlck9wdGlvbnMgPSBbeyBsYWJlbDogJ0FMTCcsIHZhbHVlOiAnJyB9XTtcbiAgICAgICAgICAgICAgICByZXN1bHRzLmRhdGEuZm9yRWFjaCgoY29uZmlnVHlwZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHlwZUhlYWRlckNvbXBvbmVudFBhcmFtcy5maWx0ZXJPcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGNvbmZpZ1R5cGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjb25maWdUeXBlLmlkXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnR5cGVIZWFkZXJDb21wb25lbnRQYXJhbXM7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXREYXRhKGZpbHRlcnM/OiBGaWx0ZXJPYmpbXSwgc29ydD86IGFueSkge1xuICAgICAgICAvLyB3ZSBjYW4gY3VzdG9taXplIGZpbHRlcnMgb3Igc29ydGluZyBoZXJlIGJlZm9yZSBtb3Zpbmcgb24uLi5cbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldFRhYmxlRGF0YSgnY29uZmlncycsIHRoaXMucGFnaW5nLCBmaWx0ZXJzLCBzb3J0KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEYXRhKHJlc3VsdHMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUgPSAoZm9ybURhdGE6YW55LCBzY2hlbWE6IGFueSk6IFByb21pc2U8Q2FsbGJhY2tSZXN1bHRzPiA9PiB7XG4gICAgICAgIGxldCBlcnJvcnMgPSB7fTtcbiAgICAgICAgaWYoc2NoZW1hKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gc2NoZW1hLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBzY2hlbWEucHJvcGVydGllc1trZXldO1xuICAgICAgICAgICAgICAgIGVycm9ycyA9IHsuLi5lcnJvcnMsIC4uLnRoaXMudmFsaWRhdGVQcm9wZXJ0eShrZXksIHByb3BlcnR5LCBmb3JtRGF0YSwgc2NoZW1hKX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtwYXNzZWQ6IF8uaXNFbXB0eShlcnJvcnMpLCBlcnJvcnN9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbm8gc2NoZW1hIGRlZmluaXRpb24gc2VsZWN0ZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkYXRlUHJvcGVydHkoa2V5LCBwcm9wZXJ0eSwgZm9ybURhdGEsIHNjaGVtYSwgcGFyZW50S2V5Pyk6IGFueSB7XG4gICAgICAgIGxldCBlcnJvcnMgPSB7fVxuICAgICAgICB2YXIgdHlwZSA9IHRoaXMuc2NoZW1hU3ZjLmdldFR5cGUocHJvcGVydHkpO1xuICAgICAgICBpZiAodHlwZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBzdWJLZXkgaW4gcHJvcGVydHkucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIGVycm9ycyA9IHsuLi5lcnJvcnMsIC4uLnRoaXMudmFsaWRhdGVQcm9wZXJ0eShzdWJLZXksIHByb3BlcnR5LnByb3BlcnRpZXNbc3ViS2V5XSwgZm9ybURhdGEsIHNjaGVtYSwga2V5KX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgdGhlVmFsdWU6IHN0cmluZyA9IF8uZ2V0KGZvcm1EYXRhLCBrZXkpXG4gICAgICAgICAgICBpZiAodHlwZSA9PSBcImludGVnZXJcIikge1xuICAgICAgICAgICAgICAgIGlmIChzY2hlbWEucmVxdWlyZWQgJiYgc2NoZW1hLnJlcXVpcmVkLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkubWluaW11bSkgbWluID0gTnVtYmVyKHByb3BlcnR5Lm1pbmltdW0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkubWF4aW11bSkgbWF4ID0gTnVtYmVyKHByb3BlcnR5Lm1heGltdW0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNOYU4ocGFyc2VJbnQodGhlVmFsdWUpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yc1trZXldID0gJ2ludmFsaWQgbnVtYmVyJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWwgPSBOdW1iZXIodGhlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pbiAhPSBudWxsICYmIHZhbCA8IG1pbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yc1trZXldID0gYG1pbmltdW0gdmFsdWUgJHttaW59IGV4cGVjdGVkYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXggIT0gbnVsbCAmJiB2YWwgPiBtYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnNba2V5XSA9IGBtYXhpbXVtIHZhbHVlICR7bWF4fSBleHBlY3RlZGA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJhcnJheVwiKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgKHNjaGVtYS5yZXF1aXJlZCAmJiBzY2hlbWEucmVxdWlyZWQuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIC8vICAgICBpZiAoJChcIiNcIiArICgocGFyZW50S2V5ICE9IG51bGwpID8gcGFyZW50S2V5ICsgJ18nIDogJycpICsgXCJzY2hlbWFfXCIgKyBrZXkpLmhhc0NsYXNzKFwiY2hlY2tib3hMaXN0XCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB2YXIgb2JqID0gJChcIiNcIiArICgocGFyZW50S2V5ICE9IG51bGwpID8gcGFyZW50S2V5ICsgJ18nIDogJycpICsgXCJzY2hlbWFfXCIgKyBrZXkpO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdmFyIHRvdGFsID0gb2JqLmRhdGEoXCJ0b3RhbFwiKTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHZhciBoYXNTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG90YWw7IGkrKykge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHZhciBpdGVtID0gJChcIiNcIiArICgocGFyZW50S2V5ICE9IG51bGwpID8gcGFyZW50S2V5ICsgJ18nIDogJycpICsgXCJzY2hlbWFfXCIgKyBrZXkgKyBcIl9cIiArIGkpO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGlmIChpdGVtLmhhc0NsYXNzKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBoYXNTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBpZiAoIWhhc1NlbGVjdGlvbikgJChcIiNcIiArICgocGFyZW50S2V5ICE9IG51bGwpID8gcGFyZW50S2V5ICsgJ18nIDogJycpICsgXCJzY2hlbWFfXCIgKyBrZXkpLmFkZENsYXNzKFwiZXJyb3JzXCIpO1xuICAgICAgICAgICAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgaWYgKCQoXCIjXCIgKyAoKHBhcmVudEtleSAhPSBudWxsKSA/IHBhcmVudEtleSArICdfJyA6ICcnKSArIFwic2NoZW1hX1wiICsga2V5ICsgXCJfc2VsZWN0ZWRcIikuY2hpbGRyZW4oKS5sZW5ndGggPT0gMCkgZWxlbS5hZGRDbGFzcyhcImVycm9yc1wiKTtcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHNjaGVtYS5yZXF1aXJlZCAmJiBzY2hlbWEucmVxdWlyZWQuaW5jbHVkZXMoa2V5KSAmJiB0aGVWYWx1ZS5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnNba2V5XSA9IGAke2tleX0gcmVxdWlyZWRgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RhdGEocmVzdWx0czogYW55KSB7XG4gICAgICAgIGlmICghaXNFbXB0eShyZXN1bHRzPy5kYXRhKSkge1xuICAgICAgICAgICAgLy9wcmUtcHJvY2VzcyBkYXRhIGJlZm9yZSByZW5kZXJpbmdcbiAgICAgICAgICAgIHJlc3VsdHMuZGF0YSA9IHRoaXMuYWRkQWN0aW9uc1BlclJvdyhyZXN1bHRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEFjdGlvbnNQZXJSb3cocmVzdWx0czogYW55KTogYW55W10ge1xuICAgICAgICByZXR1cm4gcmVzdWx0cy5kYXRhLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICByb3cuYWN0aW9uTGlzdCA9IFsndXBkYXRlJywgJ2RlbGV0ZSddO1xuICAgICAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5VcGRhdGUoaXRlbT86IGFueSkge1xuICAgICAgICB0aGlzLm1vZGFsVHlwZSA9ICdjb25maWcnO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZyA9IGl0ZW07XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlnLmJhZGdlcyA9IFtdO1xuICAgICAgICAgICAgdW5zZXQodGhpcy5zZWxlY3RlZENvbmZpZywgJ19saW5rcycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZyA9IG5ldyBTZXJ2aWNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaWRlTW9kYWxPcGVuID0gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|