UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

102 lines 14.1 kB
import { ERROR_TYPE } from './ecosystem.model'; import { gettext, PackageType } from '@c8y/ngx-components'; export const ERROR_MESSAGES = { [ERROR_TYPE.ALREADY_EXIST]: gettext('Could not deploy the application, as an application with the same name`KEEP_ORIGINAL`, context-path`KEEP_ORIGINAL` or key`KEEP_ORIGINAL` exists already.'), [ERROR_TYPE.TYPE_VALIDATION]: gettext('Wrong file format. Expected a *.zip file with a valid manifest.'), [ERROR_TYPE.ALREADY_SUBSCRIBED]: gettext('Could not subscribe to the microservice because another application with the same context path is already subscribed.'), [ERROR_TYPE.NO_MANIFEST_FILE]: gettext('Could not find a manifest.'), [ERROR_TYPE.INVALID_PACKAGE]: gettext('You have not uploaded a valid package.'), [ERROR_TYPE.INVALID_APPLICATION]: gettext('You have not uploaded a valid application.'), [ERROR_TYPE.INTERNAL_ERROR]: gettext('An internal error occurred, try to upload again.'), [ERROR_TYPE.MICROSERVICE_NAME_TOO_LONG]: gettext('Microservice name "{{ name }}" must not be longer than {{ maxChars }} characters.'), [ERROR_TYPE.APPLICATION_CREATION_FAILED]: gettext('Application creation failed.'), [ERROR_TYPE.KEY_OR_CONTEXT_PATH_MISMATCH]: gettext('The "contextPath`KEEP_ORIGINAL`" or "key`KEEP_ORIGINAL`" of the uploaded archive do not match with the existing application.'), [ERROR_TYPE.VERSION_NOT_FOUND]: gettext('The selected version was not found on the server.') }; export const APP_STATE = { SUBSCRIBED: { label: gettext('Subscribed`application`'), class: 'label-primary', tooltip: gettext('Provided by parent tenant.') }, CUSTOM: { label: gettext('Custom`application`'), class: 'label-info', tooltip: gettext('Manually uploaded to the platform.') }, EXTERNAL: { label: gettext('External`application`'), class: 'label-warning', tooltip: gettext('Application hosted outside of the platform.') }, UNPACKED: { label: gettext('Unpacked`application`'), class: 'label-success', tooltip: gettext('Deployed from a package available under "Packages".') }, PACKAGE_BLUEPRINT: { label: gettext('Blueprint'), class: 'label-success', tooltip: gettext('Contains an application and may include plugins.') }, PACKAGE_PLUGIN: { label: gettext('Plugins'), class: 'label-info', tooltip: gettext('Contains only plugins.') }, PACKAGE_UNKNOWN: { label: gettext('Unknown`package-type`'), class: 'label-info', tooltip: gettext('Package contents could not be determined.') } }; export const PACKAGE_TYPE_LABELS = { [PackageType.COMMUNITY]: { label: gettext('COMMUNITY`Package created by the developer community.`'), tooltip: gettext('Package created by the developer community.') }, [PackageType.OFFICIAL]: { label: gettext('OFFICIAL`Package maintained by Software AG.`'), tooltip: gettext('Package maintained by Software AG.') }, [PackageType.UNKNOWN]: { label: gettext('CUSTOM`Package maintained by an unknown source.`'), tooltip: gettext('Package maintainer unknown.') }, [PackageType.ARCHIVED]: { label: gettext('ARCHIVED`Package out of maintenance.`'), tooltip: gettext('The package was marked by the author as archived.') } }; export const packageProperties = [ { label: gettext('Latest version'), key: 'version' }, { label: gettext('Author'), key: 'author' }, { label: gettext('Keywords'), key: 'keywords' }, { label: gettext('Source'), key: 'repository', transform: (repository) => (repository?.url ? repository.url : repository), type: 'link', action: (e, link) => window.open(link, '_blank', 'noopener,noreferrer') }, { label: gettext('Homepage'), key: 'homepage', type: 'link', action: (e, link) => window.open(link, '_blank', 'noopener,noreferrer') }, { label: gettext('License'), key: 'license' } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9zaGFyZWQvZWNvc3lzdGVtLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQXNCLE1BQU0scUJBQXFCLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FDakMsMEpBQTBKLENBQzNKO0lBQ0QsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxDQUNuQyxpRUFBaUUsQ0FDbEU7SUFDRCxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FDdEMsdUhBQXVILENBQ3hIO0lBQ0QsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUMsNEJBQTRCLENBQUM7SUFDcEUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO0lBQy9FLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO0lBQ3ZGLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxrREFBa0QsQ0FBQztJQUN4RixDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLE9BQU8sQ0FDOUMsbUZBQW1GLENBQ3BGO0lBQ0QsQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsRUFBRSxPQUFPLENBQUMsOEJBQThCLENBQUM7SUFDakYsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsRUFBRSxPQUFPLENBQ2hELDhIQUE4SCxDQUMvSDtJQUNELENBQUMsVUFBVSxDQUFDLGlCQUFp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RyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDL0UsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUscUJBQXFCLENBQUM7S0FDaEY7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzFCLEdBQUcsRUFBRSxVQUFVO1FBQ2YsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUscUJBQXFCLENBQUM7S0FDaEY7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3pCLEdBQUcsRUFBRSxTQUFTO0tBQ2Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRVJST1JfVFlQRSB9IGZyb20gJy4vZWNvc3lzdGVtLm1vZGVsJztcbmltcG9ydCB7IGdldHRleHQsIFBhY2thZ2VUeXBlLCBQcm9wZXJ0aWVzTGlzdEl0ZW0gfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuZXhwb3J0IGNvbnN0IEVSUk9SX01FU1NBR0VTID0ge1xuICBbRVJST1JfVFlQRS5BTFJFQURZX0VYSVNUXTogZ2V0dGV4dChcbiAgICAnQ291bGQgbm90IGRlcGxveSB0aGUgYXBwbGljYXRpb24sIGFzIGFuIGFwcGxpY2F0aW9uIHdpdGggdGhlIHNhbWUgbmFtZWBLRUVQX09SSUdJTkFMYCwgY29udGV4dC1wYXRoYEtFRVBfT1JJR0lOQUxgIG9yIGtleWBLRUVQX09SSUdJTkFMYCBleGlzdHMgYWxyZWFkeS4nXG4gICksXG4gIFtFUlJPUl9UWVBFLlRZUEVfVkFMSURBVElPTl06IGdldHRleHQoXG4gICAgJ1dyb25nIGZpbGUgZm9ybWF0LiBFeHBlY3RlZCBhICouemlwIGZpbGUgd2l0aCBhIHZhbGlkIG1hbmlmZXN0LidcbiAgKSxcbiAgW0VSUk9SX1RZUEUuQUxSRUFEWV9TVUJTQ1JJQkVEXTogZ2V0dGV4dChcbiAgICAnQ291bGQgbm90IHN1YnNjcmliZSB0byB0aGUgbWljcm9zZXJ2aWNlIGJlY2F1c2UgYW5vdGhlciBhcHBsaWNhdGlvbiB3aXRoIHRoZSBzYW1lIGNvbnRleHQgcGF0aCBpcyBhbHJlYWR5IHN1YnNjcmliZWQuJ1xuICApLFxuICBbRVJST1JfVFlQRS5OT19NQU5JRkVTVF9GSUxFXTogZ2V0dGV4dCgnQ291bGQgbm90IGZpbmQgYSBtYW5pZmVzdC4nKSxcbiAgW0VSUk9SX1RZUEUuSU5WQUxJRF9QQUNLQUdFXTogZ2V0dGV4dCgnWW91IGhhdmUgbm90IHVwbG9hZGVkIGEgdmFsaWQgcGFja2FnZS4nKSxcbiAgW0VSUk9SX1RZUEUuSU5WQUxJRF9BUFBMSUNBVElPTl06IGdldHRleHQoJ1lvdSBoYXZlIG5vdCB1cGxvYWRlZCBhIHZhbGlkIGFwcGxpY2F0aW9uLicpLFxuICBbRVJST1JfVFlQRS5JTlRFUk5BTF9FUlJPUl06IGdldHRleHQoJ0FuIGludGVybmFsIGVycm9yIG9jY3VycmVkLCB0cnkgdG8gdXBsb2FkIGFnYWluLicpLFxuICBbRVJST1JfVFlQRS5NSUNST1NFUlZJQ0VfTkFNRV9UT09fTE9OR106IGdldHRleHQoXG4gICAgJ01pY3Jvc2VydmljZSBuYW1lIFwie3sgbmFtZSB9fVwiIG11c3Qgbm90IGJlIGxvbmdlciB0aGFuIHt7IG1heENoYXJzIH19IGNoYXJhY3RlcnMuJ1xuICApLFxuICBbRVJST1JfVFlQRS5BUFBMSUNBVElPTl9DUkVBVElPTl9GQUlMRURdOiBnZXR0ZXh0KCdBcHBsaWNhdGlvbiBjcmVhdGlvbiBmYWlsZWQuJyksXG4gIFtFUlJPUl9UWVBFLktFWV9PUl9DT05URVhUX1BBVEhfTUlTTUFUQ0hdOiBnZXR0ZXh0KFxuICAgICdUaGUgXCJjb250ZXh0UGF0aGBLRUVQX09SSUdJTkFMYFwiIG9yIFwia2V5YEtFRVBfT1JJR0lOQUxgXCIgb2YgdGhlIHVwbG9hZGVkIGFyY2hpdmUgZG8gbm90IG1hdGNoIHdpdGggdGhlIGV4aXN0aW5nIGFwcGxpY2F0aW9uLidcbiAgKSxcbiAgW0VSUk9SX1RZUEUuVkVSU0lPTl9OT1RfRk9VTkRdOiBnZXR0ZXh0KCdUaGUgc2VsZWN0ZWQgdmVyc2lvbiB3YXMgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIuJylcbn07XG5cbmV4cG9ydCBjb25zdCBBUFBfU1RBVEUgPSB7XG4gIFNVQlNDUklCRUQ6IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnU3Vic2NyaWJlZGBhcHBsaWNhdGlvbmAnKSxcbiAgICBjbGFzczogJ2xhYmVsLXByaW1hcnknLFxuICAgIHRvb2x0aXA6IGdldHRleHQoJ1Byb3ZpZGVkIGJ5IHBhcmVudCB0ZW5hbnQuJylcbiAgfSxcbiAgQ1VTVE9NOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ0N1c3RvbWBhcHBsaWNhdGlvbmAnKSxcbiAgICBjbGFzczogJ2xhYmVsLWluZm8nLFxuICAgIHRvb2x0aXA6IGdldHRleHQoJ01hbnVhbGx5IHVwbG9hZGVkIHRvIHRoZSBwbGF0Zm9ybS4nKVxuICB9LFxuICBFWFRFUk5BTDoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdFeHRlcm5hbGBhcHBsaWNhdGlvbmAnKSxcbiAgICBjbGFzczogJ2xhYmVsLXdhcm5pbmcnLFxuICAgIHRvb2x0aXA6IGdldHRleHQoJ0FwcGxpY2F0aW9uIGhvc3RlZCBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybS4nKVxuICB9LFxuICBVTlBBQ0tFRDoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdVbnBhY2tlZGBhcHBsaWNhdGlvbmAnKSxcbiAgICBjbGFzczogJ2xhYmVsLXN1Y2Nlc3MnLFxuICAgIHRvb2x0aXA6IGdldHRleHQoJ0RlcGxveWVkIGZyb20gYSBwYWNrYWdlIGF2YWlsYWJsZSB1bmRlciBcIlBhY2thZ2VzXCIuJylcbiAgfSxcbiAgUEFDS0FHRV9CTFVFUFJJTlQ6IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnQmx1ZXByaW50JyksXG4gICAgY2xhc3M6ICdsYWJlbC1zdWNjZXNzJyxcbiAgICB0b29sdGlwOiBnZXR0ZXh0KCdDb250YWlucyBhbiBhcHBsaWNhdGlvbiBhbmQgbWF5IGluY2x1ZGUgcGx1Z2lucy4nKVxuICB9LFxuICBQQUNLQUdFX1BMVUdJTjoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdQbHVnaW5zJyksXG4gICAgY2xhc3M6ICdsYWJlbC1pbmZvJyxcbiAgICB0b29sdGlwOiBnZXR0ZXh0KCdDb250YWlucyBvbmx5IHBsdWdpbnMuJylcbiAgfSxcbiAgUEFDS0FHRV9VTktOT1dOOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1Vua25vd25gcGFja2FnZS10eXBlYCcpLFxuICAgIGNsYXNzOiAnbGFiZWwtaW5mbycsXG4gICAgdG9vbHRpcDogZ2V0dGV4dCgnUGFja2FnZSBjb250ZW50cyBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZC4nKVxuICB9XG59O1xuXG5leHBvcnQgdHlwZSBBcHBsaWNhdGlvblN0YXRlID0gKHR5cGVvZiBBUFBfU1RBVEUpW2tleW9mIHR5cGVvZiBBUFBfU1RBVEVdO1xuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9UWVBFX0xBQkVMUyA9IHtcbiAgW1BhY2thZ2VUeXBlLkNPTU1VTklUWV06IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnQ09NTVVOSVRZYFBhY2thZ2UgY3JlYXRlZCBieSB0aGUgZGV2ZWxvcGVyIGNvbW11bml0eS5gJyksXG4gICAgdG9vbHRpcDogZ2V0dGV4dCgnUGFja2FnZSBjcmVhdGVkIGJ5IHRoZSBkZXZlbG9wZXIgY29tbXVuaXR5LicpXG4gIH0sXG4gIFtQYWNrYWdlVHlwZS5PRkZJQ0lBTF06IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnT0ZGSUNJQUxgUGFja2FnZSBtYWludGFpbmVkIGJ5IFNvZnR3YXJlIEFHLmAnKSxcbiAgICB0b29sdGlwOiBnZXR0ZXh0KCdQYWNrYWdlIG1haW50YWluZWQgYnkgU29mdHdhcmUgQUcuJylcbiAgfSxcbiAgW1BhY2thZ2VUeXBlLlVOS05PV05dOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ0NVU1RPTWBQYWNrYWdlIG1haW50YWluZWQgYnkgYW4gdW5rbm93biBzb3VyY2UuYCcpLFxuICAgIHRvb2x0aXA6IGdldHRleHQoJ1BhY2thZ2UgbWFpbnRhaW5lciB1bmtub3duLicpXG4gIH0sXG4gIFtQYWNrYWdlVHlwZS5BUkNISVZFRF06IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnQVJDSElWRURgUGFja2FnZSBvdXQgb2YgbWFpbnRlbmFuY2UuYCcpLFxuICAgIHRvb2x0aXA6IGdldHRleHQoJ1RoZSBwYWNrYWdlIHdhcyBtYXJrZWQgYnkgdGhlIGF1dGhvciBhcyBhcmNoaXZlZC4nKVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFja2FnZVByb3BlcnRpZXM6IFByb3BlcnRpZXNMaXN0SXRlbVtdID0gW1xuICB7XG4gICAgbGFiZWw6IGdldHRleHQoJ0xhdGVzdCB2ZXJzaW9uJyksXG4gICAga2V5OiAndmVyc2lvbidcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdBdXRob3InKSxcbiAgICBrZXk6ICdhdXRob3InXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnS2V5d29yZHMnKSxcbiAgICBrZXk6ICdrZXl3b3JkcydcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdTb3VyY2UnKSxcbiAgICBrZXk6ICdyZXBvc2l0b3J5JyxcbiAgICB0cmFuc2Zvcm06IChyZXBvc2l0b3J5OiBhbnkpID0+IChyZXBvc2l0b3J5Py51cmwgPyByZXBvc2l0b3J5LnVybCA6IHJlcG9zaXRvcnkpLFxuICAgIHR5cGU6ICdsaW5rJyxcbiAgICBhY3Rpb246IChlLCBsaW5rOiBzdHJpbmcpID0+IHdpbmRvdy5vcGVuKGxpbmssICdfYmxhbmsnLCAnbm9vcGVuZXIsbm9yZWZlcnJlcicpXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnSG9tZXBhZ2UnKSxcbiAgICBrZXk6ICdob21lcGFnZScsXG4gICAgdHlwZTogJ2xpbmsnLFxuICAgIGFjdGlvbjogKGUsIGxpbms6IHN0cmluZykgPT4gd2luZG93Lm9wZW4obGluaywgJ19ibGFuaycsICdub29wZW5lcixub3JlZmVycmVyJylcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdMaWNlbnNlJyksXG4gICAga2V5OiAnbGljZW5zZSdcbiAgfVxuXTtcbiJdfQ==