@tilde-nlp/ngx-common 2.0.0 → 2.0.1
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/esm2020/lib/directives/drag-and-drop/drag-and-drop.directive.mjs +62 -0
- package/esm2020/lib/directives/drag-and-drop/drag-and-drop.module.mjs +24 -0
- package/esm2020/lib/directives/drag-and-drop/index.mjs +3 -0
- package/esm2020/lib/directives/index.mjs +2 -1
- package/esm2020/lib/file-upload/file-upload.component.mjs +107 -0
- package/esm2020/lib/file-upload/file-upload.module.mjs +42 -0
- package/esm2020/lib/file-upload/index.mjs +4 -0
- package/esm2020/lib/file-upload/models/file-upload-error-type.enum.mjs +8 -0
- package/esm2020/lib/file-upload/models/file-upload-error.model.mjs +2 -0
- package/esm2020/lib/file-upload/models/index.mjs +3 -0
- package/esm2020/lib/filter-bar/filter-bar.component.mjs +86 -0
- package/esm2020/lib/filter-bar/filter-bar.module.mjs +56 -0
- package/esm2020/lib/filter-bar/index.mjs +4 -0
- package/esm2020/lib/filter-bar/models/filter-bar-change-event.model.mjs +2 -0
- package/esm2020/lib/filter-bar/models/filter-bar-filter-item.model.mjs +2 -0
- package/esm2020/lib/filter-bar/models/filter-bar-filter.model.mjs +2 -0
- package/esm2020/lib/filter-bar/models/filter-bar-settings.model.mjs +2 -0
- package/esm2020/lib/filter-bar/models/index.mjs +4 -0
- package/esm2020/lib/helpers/html-element-parse.helper.mjs +14 -0
- package/esm2020/lib/helpers/index.mjs +4 -2
- package/esm2020/lib/helpers/{missing-translation-helper.mjs → missing-translation.helper.mjs} +1 -1
- package/esm2020/lib/helpers/save-file.helper.mjs +11 -0
- package/esm2020/lib/multi-functional-table/index.mjs +4 -0
- package/esm2020/lib/multi-functional-table/models/column-config.model.mjs +2 -0
- package/esm2020/lib/multi-functional-table/models/column-select-config.model.mjs +2 -0
- package/esm2020/lib/multi-functional-table/models/export-config.model.mjs +2 -0
- package/esm2020/lib/multi-functional-table/models/export-format.enum.mjs +5 -0
- package/esm2020/lib/multi-functional-table/models/filter-config.model.mjs +2 -0
- package/esm2020/lib/multi-functional-table/models/index.mjs +6 -0
- package/esm2020/lib/multi-functional-table/models/multi-functional-table-config.model.mjs +2 -0
- package/esm2020/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs +2 -0
- package/esm2020/lib/multi-functional-table/multi-functional-table.component.mjs +176 -0
- package/esm2020/lib/multi-functional-table/multi-functional-table.module.mjs +60 -0
- package/esm2020/lib/notification-message/notification-message.component.mjs +2 -2
- package/esm2020/lib/pipes/date-ago/date-ago.module.mjs +28 -0
- package/esm2020/lib/pipes/date-ago/date-ago.pipe.mjs +111 -0
- package/esm2020/lib/pipes/date-ago/index.mjs +3 -0
- package/esm2020/lib/pipes/date-ago/models/date-ago-interval.model.mjs +2 -0
- package/esm2020/lib/pipes/date-ago/models/date-ago-settings.model.mjs +2 -0
- package/esm2020/lib/pipes/date-ago/models/date-ago-settings.token.mjs +2 -0
- package/esm2020/lib/pipes/date-ago/models/date-ago.model.mjs +2 -0
- package/esm2020/lib/pipes/date-ago/models/index.mjs +5 -0
- package/esm2020/lib/pipes/index.mjs +2 -1
- package/esm2020/public-api.mjs +4 -1
- package/fesm2015/tilde-nlp-ngx-common.mjs +746 -8
- package/fesm2015/tilde-nlp-ngx-common.mjs.map +1 -1
- package/fesm2020/tilde-nlp-ngx-common.mjs +730 -8
- package/fesm2020/tilde-nlp-ngx-common.mjs.map +1 -1
- package/lib/directives/drag-and-drop/drag-and-drop.directive.d.ts +14 -0
- package/lib/directives/drag-and-drop/drag-and-drop.module.d.ts +8 -0
- package/lib/directives/drag-and-drop/index.d.ts +2 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/file-upload/file-upload.component.d.ts +29 -0
- package/lib/file-upload/file-upload.module.d.ts +13 -0
- package/lib/file-upload/index.d.ts +3 -0
- package/lib/file-upload/models/file-upload-error-type.enum.d.ts +6 -0
- package/lib/file-upload/models/file-upload-error.model.d.ts +6 -0
- package/lib/file-upload/models/index.d.ts +2 -0
- package/lib/filter-bar/filter-bar.component.d.ts +36 -0
- package/lib/filter-bar/filter-bar.module.d.ts +16 -0
- package/lib/filter-bar/index.d.ts +3 -0
- package/lib/filter-bar/models/filter-bar-change-event.model.d.ts +6 -0
- package/lib/filter-bar/models/filter-bar-filter-item.model.d.ts +4 -0
- package/lib/filter-bar/models/filter-bar-filter.model.d.ts +6 -0
- package/lib/filter-bar/models/filter-bar-settings.model.d.ts +19 -0
- package/lib/filter-bar/models/index.d.ts +3 -0
- package/lib/helpers/html-element-parse.helper.d.ts +3 -0
- package/lib/helpers/index.d.ts +3 -1
- package/lib/helpers/save-file.helper.d.ts +3 -0
- package/lib/multi-functional-table/index.d.ts +3 -0
- package/lib/multi-functional-table/models/column-config.model.d.ts +14 -0
- package/lib/multi-functional-table/models/column-select-config.model.d.ts +14 -0
- package/lib/multi-functional-table/models/export-config.model.d.ts +9 -0
- package/lib/multi-functional-table/models/export-format.enum.d.ts +3 -0
- package/lib/multi-functional-table/models/filter-config.model.d.ts +6 -0
- package/lib/multi-functional-table/models/index.d.ts +5 -0
- package/lib/multi-functional-table/models/multi-functional-table-config.model.d.ts +29 -0
- package/lib/multi-functional-table/models/selected-column-local-storage-config.model.d.ts +20 -0
- package/lib/multi-functional-table/multi-functional-table.component.d.ts +48 -0
- package/lib/multi-functional-table/multi-functional-table.module.d.ts +17 -0
- package/lib/pipes/date-ago/date-ago.module.d.ts +9 -0
- package/lib/pipes/date-ago/date-ago.pipe.d.ts +20 -0
- package/lib/pipes/date-ago/index.d.ts +2 -0
- package/lib/pipes/date-ago/models/date-ago-interval.model.d.ts +5 -0
- package/lib/pipes/date-ago/models/date-ago-settings.model.d.ts +26 -0
- package/lib/pipes/date-ago/models/date-ago-settings.token.d.ts +1 -0
- package/lib/pipes/date-ago/models/date-ago.model.d.ts +4 -0
- package/lib/pipes/date-ago/models/index.d.ts +4 -0
- package/lib/pipes/index.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/styles/components/icons.scss +16 -4
- package/styles/mixins/material-overrides/mat-progress-bar-overrides.mixin.scss +14 -0
- package/styles/mixins/material-overrides/material-overrides.mixin.scss +2 -0
- package/styles/mixins/tld-all-mixins.mixin.scss +9 -1
- /package/lib/helpers/{missing-translation-helper.d.ts → missing-translation.helper.d.ts} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdC1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tb2RlbHMvY29sdW1uLXNlbGVjdC1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gXCIuL2NvbHVtbi1jb25maWcubW9kZWxcIjtcclxuXHJcbi8qKlxyXG4gKiBNdWx0aSBmdW5jdGlvbmFsIHRhYmxlIGNvbmZpZ3VyYXRpb24gZm9yIGNvbHVtbiBzZWxlY3RpbmcuIENvbmZpZyByZXNwb25zaWJsZSBmb3IgY29uZmlndXJpbmcgY29sdW1ucyB3aG9zZSB2aXNpYmlsdHkgY2FuIGJlIHRvZ2dsZWQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNlbGVjdENvbmZpZ3tcclxuICAvKipcclxuICAgKiBDb2x1bW5zIHRvIHdob20gdmlzaWJpbGl0eSBjYW4gYmUgY2hhbmdlZC5cclxuICAgKi9cclxuICBjb2x1bW5zOiBDb2x1bW5Db25maWdbXTtcclxuICAvKipcclxuICAgKiBJZiBjb2x1bW4gc2VsZWN0IGZlYXR1cmUgaXMgZW5hYmxlZC5cclxuICAgKi9cclxuICBlbmFibGVkPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL21vZGVscy9leHBvcnQtY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHBvcnRGb3JtYXQgfSBmcm9tIFwiLi9leHBvcnQtZm9ybWF0LmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0Q29uZmlnIHtcclxuICBlbmFibGVkOiBib29sZWFuO1xyXG4gIGZpbGVPcHRpb25zPzoge1xyXG4gICAgZm9ybWF0PzogRXhwb3J0Rm9ybWF0O1xyXG4gICAgc2F2ZVRvRmlsZTogYm9vbGVhbjtcclxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var ExportFormat;
|
|
2
|
+
(function (ExportFormat) {
|
|
3
|
+
ExportFormat["CSV"] = "csv";
|
|
4
|
+
})(ExportFormat || (ExportFormat = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWZvcm1hdC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL211bHRpLWZ1bmN0aW9uYWwtdGFibGUvbW9kZWxzL2V4cG9ydC1mb3JtYXQuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUVYO0FBRkQsV0FBWSxZQUFZO0lBQ3RCLDJCQUFXLENBQUE7QUFDYixDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFeHBvcnRGb3JtYXQge1xyXG4gIENTViA9IFwiY3N2XCJcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL21vZGVscy9maWx0ZXItY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJCYXJTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9maWx0ZXItYmFyXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZ3tcclxuICBlbmFibGVkOiBib29sZWFuO1xyXG4gIHNldHRpbmdzOiBGaWx0ZXJCYXJTZXR0aW5ncztcclxuICB2aXNpYmxlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./multi-functional-table-config.model";
|
|
2
|
+
export * from "./column-config.model";
|
|
3
|
+
export * from "./column-select-config.model";
|
|
4
|
+
export * from "./export-config.model";
|
|
5
|
+
export * from "./export-format.enum";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS1jb25maWcubW9kZWxcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vY29sdW1uLWNvbmZpZy5tb2RlbFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9jb2x1bW4tc2VsZWN0LWNvbmZpZy5tb2RlbFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtY29uZmlnLm1vZGVsXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1mb3JtYXQuZW51bVwiO1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZnVuY3Rpb25hbC10YWJsZS1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tb2RlbHMvbXVsdGktZnVuY3Rpb25hbC10YWJsZS1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBDb2x1bW5TZWxlY3RDb25maWcgfSBmcm9tIFwiLi9jb2x1bW4tc2VsZWN0LWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBFeHBvcnRDb25maWcgfSBmcm9tIFwiLi9leHBvcnQtY29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IEZpbHRlckNvbmZpZyB9IGZyb20gXCIuL2ZpbHRlci1jb25maWcubW9kZWxcIjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZvciB0YWJsZSB3aXRoIG11bHRpcGxlIHByZWRlZmluZWQgYWN0b2lucyBhZ2FpbnN0IG1hdCB0YWJsZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlGdW5jdGlvbmFsVGFibGVDb25maWc8VD4ge1xyXG4gIC8qKlxyXG4gICAqIE1hdCB0YWJsZSBkYXRhU291cmNlXHJcbiAgICovXHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFQ+O1xyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRvZ2dsaW5nIGRpc3BsYXllZCBjb2x1bW5zIGluIG1hdCB0YWJsZVxyXG4gICAqL1xyXG4gIGNvbHVtblNlbGVjdD86IENvbHVtblNlbGVjdENvbmZpZztcclxuICAvKipcclxuICAgKiBDb25maWd1cmF0aW9uIGZvciBmaWx0ZXJzLiBGb3IgZmlsdGVyaW5nIGN1c3RvbSBmaWx0ZXJCYXIgY29tcG9uZW50IGlzIHVzZWQuIE5vdGUgdGhhdCBjb21wb25lbnQgZG9lcyBub3QgZmlsdGVyIGRhdGFzb3VyY2UgYnkgaXRzZWxmIGJ1dCBvbmx5IGVtaXRzIGV2ZW50IHdoZW4gZmlsdGVycyBhcmUgY2hhbmdlZC5cclxuICAgKi9cclxuICBmaWx0ZXI/OiBGaWx0ZXJDb25maWc7XHJcbiAgLyoqXHJcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgZXhwb3J0aW5nIGRhdGEuXHJcbiAgICovXHJcbiAgZXhwb3J0PzogRXhwb3J0Q29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIExvY2FsIHN0b3JhZ2Uga2V5IHRvIHN0b3JlIHNlbGVjdGVkIGNvbHVtbnMgYW5kIGZpbHRlciB2aXNpYmlsdHkuXHJcbiAgICovXHJcbiAgbG9jYWxTdG9yYWdlS2V5Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
package/esm2020/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY29sdW1uLWxvY2FsLXN0b3JhZ2UtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL211bHRpLWZ1bmN0aW9uYWwtdGFibGUvbW9kZWxzL3NlbGVjdGVkLWNvbHVtbi1sb2NhbC1zdG9yYWdlLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIE9iamVjdCB0eXBlIHRoYXQgaXMgc3RvcmVkIGluIGxvY2FsIHN0b3JhZ2UgZm9yIHJlbWVtYmVyaW5nIHVzZXIgY2hvaWNlcy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIFNldHRpbmdzIHJlbGF0ZWQgdG8gY29sdW1uIHNlbGVjdC5cclxuICAgKi9cclxuICBjb2x1bW5zPzoge1xyXG4gICAgLyoqXHJcbiAgICAgKiBXZXRoZXIgZ2l2ZW4gY29sdW1uIHdhcyBzZWxlY3RlZC5cclxuICAgICAqL1xyXG4gICAgW2NvbHVtbk5hbWU6IHN0cmluZ106IGJvb2xlYW5cclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBzZXR0aW5ncy5cclxuICAgKi9cclxuICBmaWx0ZXI/OiB7IHZpc2libGU/OiBib29sZWFuOyB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { MatSort } from '@angular/material/sort';
|
|
3
|
+
import { MatColumnDef, MatHeaderRowDef, MatNoDataRow, MatRowDef, MatTable } from '@angular/material/table';
|
|
4
|
+
import { take } from 'rxjs';
|
|
5
|
+
import { HtmlElementParseHelper } from '../helpers';
|
|
6
|
+
import { SaveFileHelper } from '../helpers/save-file.helper';
|
|
7
|
+
import { ExportFormat } from './models';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../services";
|
|
10
|
+
import * as i2 from "@ngx-translate/core";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
|
+
import * as i4 from "@angular/material/table";
|
|
13
|
+
import * as i5 from "@angular/material/button";
|
|
14
|
+
import * as i6 from "@angular/material/menu";
|
|
15
|
+
import * as i7 from "@angular/material/checkbox";
|
|
16
|
+
import * as i8 from "@angular/forms";
|
|
17
|
+
import * as i9 from "../filter-bar/filter-bar.component";
|
|
18
|
+
import * as i10 from "@angular/flex-layout/flex";
|
|
19
|
+
export class MultiFunctionalTableComponent {
|
|
20
|
+
constructor(domService, translateService) {
|
|
21
|
+
this.domService = domService;
|
|
22
|
+
this.translateService = translateService;
|
|
23
|
+
//#region Output properties
|
|
24
|
+
this.filterBarChange = new EventEmitter();
|
|
25
|
+
this.exported = new EventEmitter();
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.readFromLocalStorage();
|
|
29
|
+
this.setColumnProperties();
|
|
30
|
+
this.setFilterProperties();
|
|
31
|
+
this.setExportProperties();
|
|
32
|
+
}
|
|
33
|
+
ngAfterContentInit() {
|
|
34
|
+
this.columnDefs.forEach(columnDef => this.table.addColumnDef(columnDef));
|
|
35
|
+
this.rowDefs.forEach(rowDef => this.table.addRowDef(rowDef));
|
|
36
|
+
this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));
|
|
37
|
+
this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));
|
|
38
|
+
this.table.setNoDataRow(this.noDataRow);
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewInit() {
|
|
41
|
+
this.config.dataSource.sort = this.sort;
|
|
42
|
+
}
|
|
43
|
+
updateDisplayColumns(initial = false) {
|
|
44
|
+
this.displayColumns = [];
|
|
45
|
+
this.columns = this.config.columnSelect?.columns ?? [];
|
|
46
|
+
if (!this.columns.length) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const localStorageValue = this.localStorageValue ?? {};
|
|
50
|
+
if (!localStorageValue.columns) {
|
|
51
|
+
localStorageValue.columns = {};
|
|
52
|
+
}
|
|
53
|
+
this.columns.forEach((column) => {
|
|
54
|
+
if (initial) {
|
|
55
|
+
column.selected = localStorageValue.columns?.[column.name] ?? column.selected;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
59
|
+
localStorageValue.columns[column.name] = column.selected;
|
|
60
|
+
}
|
|
61
|
+
if (column.selected) {
|
|
62
|
+
this.displayColumns.push(column.name);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
if (!initial) {
|
|
66
|
+
this.updateLocalStorage(localStorageValue);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
toggleFilterBar() {
|
|
70
|
+
const localstorageObject = this.localStorageValue ?? {};
|
|
71
|
+
if (!localstorageObject.filter) {
|
|
72
|
+
localstorageObject.filter = {};
|
|
73
|
+
}
|
|
74
|
+
this.filterBarVisible = !this.filterBarVisible;
|
|
75
|
+
localstorageObject.filter.visible = this.filterBarVisible;
|
|
76
|
+
this.updateLocalStorage(localstorageObject);
|
|
77
|
+
}
|
|
78
|
+
filtersChanged(filters) {
|
|
79
|
+
this.filterBarChange.emit(filters);
|
|
80
|
+
}
|
|
81
|
+
export() {
|
|
82
|
+
this.config.dataSource.connect().pipe(take(1)).subscribe((data) => {
|
|
83
|
+
this.exported.emit(data);
|
|
84
|
+
});
|
|
85
|
+
if (this.config.export?.fileOptions) {
|
|
86
|
+
this.exportToFile();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exportToFile() {
|
|
90
|
+
if (!this.config.export?.fileOptions?.saveToFile) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
let fileString = "";
|
|
94
|
+
let extension;
|
|
95
|
+
switch (this.config.export.fileOptions.format) {
|
|
96
|
+
case ExportFormat.CSV:
|
|
97
|
+
default:
|
|
98
|
+
extension = ExportFormat.CSV;
|
|
99
|
+
fileString = HtmlElementParseHelper.tableAsCsv(this.tableElementRef.nativeElement);
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
const translatedFileName = this.translateService.instant(this.config.export.fileOptions.fileName);
|
|
103
|
+
SaveFileHelper.saveFile(fileString, `${translatedFileName}.${extension}`);
|
|
104
|
+
}
|
|
105
|
+
updateLocalStorage(newValue) {
|
|
106
|
+
this.localStorageValue = newValue;
|
|
107
|
+
if (this.config.localStorageKey && newValue) {
|
|
108
|
+
this.domService.localStorage?.setItem(this.config.localStorageKey, JSON.stringify(newValue));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
readFromLocalStorage() {
|
|
112
|
+
if (this.config.localStorageKey) {
|
|
113
|
+
try {
|
|
114
|
+
const localStorageString = this.domService.localStorage?.getItem(this.config.localStorageKey);
|
|
115
|
+
if (localStorageString) {
|
|
116
|
+
this.localStorageValue = JSON.parse(localStorageString);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// eslint-disable-next-line no-empty
|
|
120
|
+
catch {
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
setFilterProperties() {
|
|
125
|
+
if (this.config.columnSelect?.enabled) {
|
|
126
|
+
this.columnSelectActive = true;
|
|
127
|
+
this.updateDisplayColumns(true);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
setColumnProperties() {
|
|
131
|
+
if (this.config.filter?.enabled) {
|
|
132
|
+
this.filterActive = true;
|
|
133
|
+
this.filterBarVisible = this.localStorageValue?.filter?.visible ?? this.config.filter.visible ?? false;
|
|
134
|
+
this.filterSettings = this.config.filter.settings;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
setExportProperties() {
|
|
138
|
+
if (this.config.export?.enabled) {
|
|
139
|
+
this.exportActive = true;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
MultiFunctionalTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MultiFunctionalTableComponent, deps: [{ token: i1.DOMService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
+
MultiFunctionalTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MultiFunctionalTableComponent, selector: "tld-multi-functional-table", inputs: { config: "config" }, outputs: { filterBarChange: "filterBarChange", exported: "exported" }, queries: [{ propertyName: "noDataRow", first: true, predicate: MatNoDataRow, descendants: true }, { propertyName: "headerRowDefs", predicate: MatHeaderRowDef }, { propertyName: "rowDefs", predicate: MatRowDef }, { propertyName: "columnDefs", predicate: MatColumnDef }], viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "tableElementRef", first: true, predicate: MatTable, descendants: true, read: ElementRef }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\">\r\n\r\n <div fxLayout=\"row\">\r\n <div fxFlex fxLayoutGap=\"1rem\">\r\n <button mat-button [matMenuTriggerFor]=\"columnMenu\" *ngIf=\"columnSelectActive\">\r\n <span class=\"material-icons column-select-icon\">menu</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.COLUMN_SELECT' | translate}}</span>\r\n </button>\r\n\r\n <button mat-button *ngIf=\"filterActive\" (click)=\"toggleFilterBar()\">\r\n <span class=\"material-icons\">filter_list</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.FILTER_TOGGLE' | translate}}</span>\r\n </button>\r\n\r\n <button mat-stroked-button *ngIf=\"exportActive\" (click)=\"export()\">\r\n <span class=\"material-icons-outlined\">cloud_download</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.EXPORT' | translate}}</span>\r\n </button>\r\n </div>\r\n\r\n <ng-content select=\"[additionalActions]\"></ng-content>\r\n </div>\r\n\r\n <mat-menu #columnMenu=\"matMenu\">\r\n <div class=\"column-select-wrapper\" (click)=\"$event.stopPropagation()\">\r\n <div *ngFor=\"let column of columns\">\r\n <mat-checkbox [(ngModel)]=\"column.selected\" (change)=\"updateDisplayColumns()\">\r\n {{column.displayName | translate}}\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <tld-filter-bar *ngIf=\"filterBarVisible\" [settings]=\"filterSettings\" (filterBarChange)=\"filtersChanged($event)\">\r\n </tld-filter-bar>\r\n <table #table mat-table [dataSource]=\"config.dataSource\">\r\n <ng-content></ng-content>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayColumns\"></tr>\r\n </table>\r\n\r\n</div>\r\n", styles: ["table{width:100%}.column-select-icon{rotate:90deg}.column-select-wrapper{padding:1rem}.material-icons,.material-icons-outlined{margin-right:.5rem}.table-action-button{margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.FilterBarComponent, selector: "tld-filter-bar", inputs: ["settings"], outputs: ["filterBarChange"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MultiFunctionalTableComponent, decorators: [{
|
|
146
|
+
type: Component,
|
|
147
|
+
args: [{ selector: 'tld-multi-functional-table', template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\">\r\n\r\n <div fxLayout=\"row\">\r\n <div fxFlex fxLayoutGap=\"1rem\">\r\n <button mat-button [matMenuTriggerFor]=\"columnMenu\" *ngIf=\"columnSelectActive\">\r\n <span class=\"material-icons column-select-icon\">menu</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.COLUMN_SELECT' | translate}}</span>\r\n </button>\r\n\r\n <button mat-button *ngIf=\"filterActive\" (click)=\"toggleFilterBar()\">\r\n <span class=\"material-icons\">filter_list</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.FILTER_TOGGLE' | translate}}</span>\r\n </button>\r\n\r\n <button mat-stroked-button *ngIf=\"exportActive\" (click)=\"export()\">\r\n <span class=\"material-icons-outlined\">cloud_download</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.EXPORT' | translate}}</span>\r\n </button>\r\n </div>\r\n\r\n <ng-content select=\"[additionalActions]\"></ng-content>\r\n </div>\r\n\r\n <mat-menu #columnMenu=\"matMenu\">\r\n <div class=\"column-select-wrapper\" (click)=\"$event.stopPropagation()\">\r\n <div *ngFor=\"let column of columns\">\r\n <mat-checkbox [(ngModel)]=\"column.selected\" (change)=\"updateDisplayColumns()\">\r\n {{column.displayName | translate}}\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <tld-filter-bar *ngIf=\"filterBarVisible\" [settings]=\"filterSettings\" (filterBarChange)=\"filtersChanged($event)\">\r\n </tld-filter-bar>\r\n <table #table mat-table [dataSource]=\"config.dataSource\">\r\n <ng-content></ng-content>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayColumns\"></tr>\r\n </table>\r\n\r\n</div>\r\n", styles: ["table{width:100%}.column-select-icon{rotate:90deg}.column-select-wrapper{padding:1rem}.material-icons,.material-icons-outlined{margin-right:.5rem}.table-action-button{margin-bottom:1rem}\n"] }]
|
|
148
|
+
}], ctorParameters: function () { return [{ type: i1.DOMService }, { type: i2.TranslateService }]; }, propDecorators: { config: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], filterBarChange: [{
|
|
151
|
+
type: Output
|
|
152
|
+
}], exported: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}], headerRowDefs: [{
|
|
155
|
+
type: ContentChildren,
|
|
156
|
+
args: [MatHeaderRowDef]
|
|
157
|
+
}], rowDefs: [{
|
|
158
|
+
type: ContentChildren,
|
|
159
|
+
args: [MatRowDef]
|
|
160
|
+
}], columnDefs: [{
|
|
161
|
+
type: ContentChildren,
|
|
162
|
+
args: [MatColumnDef]
|
|
163
|
+
}], noDataRow: [{
|
|
164
|
+
type: ContentChild,
|
|
165
|
+
args: [MatNoDataRow]
|
|
166
|
+
}], table: [{
|
|
167
|
+
type: ViewChild,
|
|
168
|
+
args: [MatTable, { static: true }]
|
|
169
|
+
}], sort: [{
|
|
170
|
+
type: ViewChild,
|
|
171
|
+
args: [MatSort]
|
|
172
|
+
}], tableElementRef: [{
|
|
173
|
+
type: ViewChild,
|
|
174
|
+
args: [MatTable, { read: ElementRef }]
|
|
175
|
+
}] } });
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL211bHRpLWZ1bmN0aW9uYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pMLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTNHLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7QUFXeEMsTUFBTSxPQUFPLDZCQUE2QjtJQWlDeEMsWUFBNkIsVUFBc0IsRUFDaEMsZ0JBQWtDO1FBRHhCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQS9CckQsMkJBQTJCO1FBQ2pCLG9CQUFlLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFD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QUF6RCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRDb2x1bW5EZWYsIE1hdEhlYWRlclJvd0RlZiwgTWF0Tm9EYXRhUm93LCBNYXRSb3dEZWYsIE1hdFRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmlsdGVyQmFyU2V0dGluZ3MgfSBmcm9tICcuLi9maWx0ZXItYmFyJztcclxuaW1wb3J0IHsgRmlsdGVyQmFyQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi9maWx0ZXItYmFyL21vZGVscy9maWx0ZXItYmFyLWNoYW5nZS1ldmVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEh0bWxFbGVtZW50UGFyc2VIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgU2F2ZUZpbGVIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL3NhdmUtZmlsZS5oZWxwZXInO1xyXG5pbXBvcnQgeyBET01TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBFeHBvcnRGb3JtYXQgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL2NvbHVtbi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBNdWx0aUZ1bmN0aW9uYWxUYWJsZUNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL211bHRpLWZ1bmN0aW9uYWwtdGFibGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWcgfSBmcm9tICcuL21vZGVscy9zZWxlY3RlZC1jb2x1bW4tbG9jYWwtc3RvcmFnZS1jb25maWcubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3RsZC1tdWx0aS1mdW5jdGlvbmFsLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aUZ1bmN0aW9uYWxUYWJsZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgY29uZmlnITogTXVsdGlGdW5jdGlvbmFsVGFibGVDb25maWc8VD47XHJcblxyXG4gIC8vI3JlZ2lvbiBPdXRwdXQgcHJvcGVydGllc1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJCYXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWx0ZXJCYXJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckJhckNoYW5nZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBleHBvcnRlZDogRXZlbnRFbWl0dGVyPFRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzIGZvciBtYXQgdGFibGUgd3JhcHBlclxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0SGVhZGVyUm93RGVmKSBoZWFkZXJSb3dEZWZzITogUXVlcnlMaXN0PE1hdEhlYWRlclJvd0RlZj47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihNYXRSb3dEZWYpIHJvd0RlZnMhOiBRdWVyeUxpc3Q8TWF0Um93RGVmPFQ+PjtcclxuICBAQ29udGVudENoaWxkcmVuKE1hdENvbHVtbkRlZikgY29sdW1uRGVmcyE6IFF1ZXJ5TGlzdDxNYXRDb2x1bW5EZWY+O1xyXG4gIEBDb250ZW50Q2hpbGQoTWF0Tm9EYXRhUm93KSBub0RhdGFSb3chOiBNYXROb0RhdGFSb3c7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0VGFibGUsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlITogTWF0VGFibGU8VD47XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0ITogTWF0U29ydDtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgQFZpZXdDaGlsZChNYXRUYWJsZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRhYmxlRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICBkaXNwbGF5Q29sdW1ucyE6IHN0cmluZ1tdO1xyXG5cclxuICBjb2x1bW5TZWxlY3RBY3RpdmUhOiBib29sZWFuO1xyXG4gIGZpbHRlckFjdGl2ZSE6IGJvb2xlYW47XHJcbiAgZXhwb3J0QWN0aXZlITogYm9vbGVhbjtcclxuXHJcbiAgZmlsdGVyQmFyVmlzaWJsZSE6IGJvb2xlYW47XHJcbiAgZmlsdGVyU2V0dGluZ3MhOiBGaWx0ZXJCYXJTZXR0aW5ncztcclxuXHJcbiAgY29sdW1ucyE6IENvbHVtbkNvbmZpZ1tdO1xyXG5cclxuICBwcml2YXRlIGxvY2FsU3RvcmFnZVZhbHVlITogU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZG9tU2VydmljZTogRE9NU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWFkRnJvbUxvY2FsU3RvcmFnZSgpO1xyXG4gICAgdGhpcy5zZXRDb2x1bW5Qcm9wZXJ0aWVzKCk7XHJcbiAgICB0aGlzLnNldEZpbHRlclByb3BlcnRpZXMoKTtcclxuICAgIHRoaXMuc2V0RXhwb3J0UHJvcGVydGllcygpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5EZWZzLmZvckVhY2goY29sdW1uRGVmID0+IHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKGNvbHVtbkRlZikpO1xyXG4gICAgdGhpcy5yb3dEZWZzLmZvckVhY2gocm93RGVmID0+IHRoaXMudGFibGUuYWRkUm93RGVmKHJvd0RlZikpO1xyXG4gICAgdGhpcy5oZWFkZXJSb3dEZWZzLmZvckVhY2goaGVhZGVyUm93RGVmID0+IHRoaXMudGFibGUuYWRkSGVhZGVyUm93RGVmKGhlYWRlclJvd0RlZikpO1xyXG4gICAgdGhpcy5oZWFkZXJSb3dEZWZzLmZvckVhY2goaGVhZGVyUm93RGVmID0+IHRoaXMudGFibGUuYWRkSGVhZGVyUm93RGVmKGhlYWRlclJvd0RlZikpO1xyXG4gICAgdGhpcy50YWJsZS5zZXROb0RhdGFSb3codGhpcy5ub0RhdGFSb3cpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWcuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRGlzcGxheUNvbHVtbnMoaW5pdGlhbCA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlDb2x1bW5zID0gW107XHJcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmNvbmZpZy5jb2x1bW5TZWxlY3Q/LmNvbHVtbnMgPz8gW107XHJcblxyXG4gICAgaWYgKCF0aGlzLmNvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2VWYWx1ZSA9IHRoaXMubG9jYWxTdG9yYWdlVmFsdWUgPz8ge307XHJcbiAgICBpZiAoIWxvY2FsU3RvcmFnZVZhbHVlLmNvbHVtbnMpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlVmFsdWUuY29sdW1ucyA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgaWYgKGluaXRpYWwpIHtcclxuICAgICAgICBjb2x1bW4uc2VsZWN0ZWQgPSBsb2NhbFN0b3JhZ2VWYWx1ZS5jb2x1bW5zPy5bY29sdW1uLm5hbWVdID8/IGNvbHVtbi5zZWxlY3RlZDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgIGxvY2FsU3RvcmFnZVZhbHVlLmNvbHVtbnMhW2NvbHVtbi5uYW1lXSA9IGNvbHVtbi5zZWxlY3RlZDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29sdW1uLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucy5wdXNoKGNvbHVtbi5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmICghaW5pdGlhbCkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUxvY2FsU3RvcmFnZShsb2NhbFN0b3JhZ2VWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRmlsdGVyQmFyKCkge1xyXG4gICAgY29uc3QgbG9jYWxzdG9yYWdlT2JqZWN0ID0gdGhpcy5sb2NhbFN0b3JhZ2VWYWx1ZSA/PyB7fTtcclxuICAgIGlmICghbG9jYWxzdG9yYWdlT2JqZWN0LmZpbHRlcikge1xyXG4gICAgICBsb2NhbHN0b3JhZ2VPYmplY3QuZmlsdGVyID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJCYXJWaXNpYmxlID0gIXRoaXMuZmlsdGVyQmFyVmlzaWJsZTtcclxuICAgIGxvY2Fsc3RvcmFnZU9iamVjdC5maWx0ZXIudmlzaWJsZSA9IHRoaXMuZmlsdGVyQmFyVmlzaWJsZTtcclxuICAgIHRoaXMudXBkYXRlTG9jYWxTdG9yYWdlKGxvY2Fsc3RvcmFnZU9iamVjdCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzOiBGaWx0ZXJCYXJDaGFuZ2VFdmVudCkge1xyXG4gICAgdGhpcy5maWx0ZXJCYXJDaGFuZ2UuZW1pdChmaWx0ZXJzKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCgpIHtcclxuICAgIHRoaXMuY29uZmlnLmRhdGFTb3VyY2UuY29ubmVjdCgpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhwb3J0ZWQuZW1pdChkYXRhKTtcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmV4cG9ydD8uZmlsZU9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5leHBvcnRUb0ZpbGUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHBvcnRUb0ZpbGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLmV4cG9ydD8uZmlsZU9wdGlvbnM/LnNhdmVUb0ZpbGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmaWxlU3RyaW5nID0gXCJcIjtcclxuICAgIGxldCBleHRlbnNpb24hOiBFeHBvcnRGb3JtYXQ7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLmV4cG9ydC5maWxlT3B0aW9ucy5mb3JtYXQpIHtcclxuICAgICAgY2FzZSBFeHBvcnRGb3JtYXQuQ1NWOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGV4dGVuc2lvbiA9IEV4cG9ydEZvcm1hdC5DU1Y7XHJcbiAgICAgICAgZmlsZVN0cmluZyA9IEh0bWxFbGVtZW50UGFyc2VIZWxwZXIudGFibGVBc0Nzdih0aGlzLnRhYmxlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGNvbnN0IHRyYW5zbGF0ZWRGaWxlTmFtZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuY29uZmlnLmV4cG9ydC5maWxlT3B0aW9ucy5maWxlTmFtZSk7XHJcbiAgICBTYXZlRmlsZUhlbHBlci5zYXZlRmlsZShmaWxlU3RyaW5nLCBgJHt0cmFuc2xhdGVkRmlsZU5hbWV9LiR7ZXh0ZW5zaW9ufWApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMb2NhbFN0b3JhZ2UobmV3VmFsdWU6IFNlbGVjdGVkQ29sdW1uTG9jYWxTdG9yYWdlQ29uZmlnKSB7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICBpZiAodGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5ICYmIG5ld1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2U/LnNldEl0ZW0odGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShuZXdWYWx1ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIHJlYWRGcm9tTG9jYWxTdG9yYWdlKCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmxvY2FsU3RvcmFnZUtleSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGxvY2FsU3RvcmFnZVN0cmluZyA9IHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2U/LmdldEl0ZW0odGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5KTtcclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlU3RyaW5nKSB7XHJcbiAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2VTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHlcclxuICAgICAgY2F0Y2gge1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEZpbHRlclByb3BlcnRpZXMoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcuY29sdW1uU2VsZWN0Py5lbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuY29sdW1uU2VsZWN0QWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy51cGRhdGVEaXNwbGF5Q29sdW1ucyh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uUHJvcGVydGllcygpIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5maWx0ZXI/LmVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmZpbHRlckJhclZpc2libGUgPSB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlPy5maWx0ZXI/LnZpc2libGUgPz8gdGhpcy5jb25maWcuZmlsdGVyLnZpc2libGUgPz8gZmFsc2U7XHJcbiAgICAgIHRoaXMuZmlsdGVyU2V0dGluZ3MgPSB0aGlzLmNvbmZpZy5maWx0ZXIuc2V0dGluZ3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEV4cG9ydFByb3BlcnRpZXMoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcuZXhwb3J0Py5lbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuZXhwb3J0QWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMXJlbVwiPlxyXG5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICA8ZGl2IGZ4RmxleCBmeExheW91dEdhcD1cIjFyZW1cIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb2x1bW5NZW51XCIgKm5nSWY9XCJjb2x1bW5TZWxlY3RBY3RpdmVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGNvbHVtbi1zZWxlY3QtaWNvblwiPm1lbnU8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3snTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5DT0xVTU5fU0VMRUNUJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImZpbHRlckFjdGl2ZVwiIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJCYXIoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5maWx0ZXJfbGlzdDwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj57eydNVUxUSV9GVU5DVElPTkFMX1RBQkxFLkZJTFRFUl9UT0dHTEUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJleHBvcnRBY3RpdmVcIiAoY2xpY2spPVwiZXhwb3J0KClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+Y2xvdWRfZG93bmxvYWQ8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3snTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5FWFBPUlQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FkZGl0aW9uYWxBY3Rpb25zXVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1hdC1tZW51ICNjb2x1bW5NZW51PVwibWF0TWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1zZWxlY3Qtd3JhcHBlclwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiY29sdW1uLnNlbGVjdGVkXCIgKGNoYW5nZSk9XCJ1cGRhdGVEaXNwbGF5Q29sdW1ucygpXCI+XHJcbiAgICAgICAgICB7e2NvbHVtbi5kaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtbWVudT5cclxuXHJcbiAgPHRsZC1maWx0ZXItYmFyICpuZ0lmPVwiZmlsdGVyQmFyVmlzaWJsZVwiIFtzZXR0aW5nc109XCJmaWx0ZXJTZXR0aW5nc1wiIChmaWx0ZXJCYXJDaGFuZ2UpPVwiZmlsdGVyc0NoYW5nZWQoJGV2ZW50KVwiPlxyXG4gIDwvdGxkLWZpbHRlci1iYXI+XHJcbiAgPHRhYmxlICN0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiY29uZmlnLmRhdGFTb3VyY2VcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHJcbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zXCI+PC90cj5cclxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5Q29sdW1uc1wiPjwvdHI+XHJcbiAgPC90YWJsZT5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
6
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
7
|
+
import { MatTableModule } from '@angular/material/table';
|
|
8
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
+
import { MultiFunctionalTableComponent } from './multi-functional-table.component';
|
|
10
|
+
import { FilterBarModule } from '../filter-bar';
|
|
11
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
12
|
+
import { MatSortModule } from '@angular/material/sort';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class MultiFunctionalTableModule {
|
|
15
|
+
}
|
|
16
|
+
MultiFunctionalTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MultiFunctionalTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
MultiFunctionalTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: MultiFunctionalTableModule, declarations: [MultiFunctionalTableComponent], imports: [CommonModule,
|
|
18
|
+
MatTableModule,
|
|
19
|
+
MatButtonModule,
|
|
20
|
+
TranslateModule,
|
|
21
|
+
MatMenuModule,
|
|
22
|
+
MatCheckboxModule,
|
|
23
|
+
FormsModule,
|
|
24
|
+
FilterBarModule,
|
|
25
|
+
FlexLayoutModule,
|
|
26
|
+
MatSortModule], exports: [MultiFunctionalTableComponent] });
|
|
27
|
+
MultiFunctionalTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MultiFunctionalTableModule, imports: [CommonModule,
|
|
28
|
+
MatTableModule,
|
|
29
|
+
MatButtonModule,
|
|
30
|
+
TranslateModule,
|
|
31
|
+
MatMenuModule,
|
|
32
|
+
MatCheckboxModule,
|
|
33
|
+
FormsModule,
|
|
34
|
+
FilterBarModule,
|
|
35
|
+
FlexLayoutModule,
|
|
36
|
+
MatSortModule] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MultiFunctionalTableModule, decorators: [{
|
|
38
|
+
type: NgModule,
|
|
39
|
+
args: [{
|
|
40
|
+
declarations: [
|
|
41
|
+
MultiFunctionalTableComponent
|
|
42
|
+
],
|
|
43
|
+
imports: [
|
|
44
|
+
CommonModule,
|
|
45
|
+
MatTableModule,
|
|
46
|
+
MatButtonModule,
|
|
47
|
+
TranslateModule,
|
|
48
|
+
MatMenuModule,
|
|
49
|
+
MatCheckboxModule,
|
|
50
|
+
FormsModule,
|
|
51
|
+
FilterBarModule,
|
|
52
|
+
FlexLayoutModule,
|
|
53
|
+
MatSortModule
|
|
54
|
+
],
|
|
55
|
+
exports: [
|
|
56
|
+
MultiFunctionalTableComponent
|
|
57
|
+
]
|
|
58
|
+
}]
|
|
59
|
+
}] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZnVuY3Rpb25hbC10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQXNCdkQsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGlCQWxCbkMsNkJBQTZCLGFBRzdCLFlBQVk7UUFDWixjQUFjO1FBQ2QsZUFBZTtRQUNmLGVBQWU7UUFDZixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGFBQWEsYUFHYiw2QkFBNkI7d0hBR3BCLDBCQUEwQixZQWZuQyxZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixhQUFhOzJGQU1KLDBCQUEwQjtrQkFwQnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBNdWx0aUZ1bmN0aW9uYWxUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJCYXJNb2R1bGUgfSBmcm9tICcuLi9maWx0ZXItYmFyJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIE11bHRpRnVuY3Rpb25hbFRhYmxlQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgRmlsdGVyQmFyTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE11bHRpRnVuY3Rpb25hbFRhYmxlQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXVsdGlGdW5jdGlvbmFsVGFibGVNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -33,10 +33,10 @@ export class NotificationMessageComponent {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
NotificationMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotificationMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
NotificationMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: { message: "message", inline: "inline" }, outputs: { buttonClicked: "buttonClicked", closeClicked: "closeClicked", linkClicked: "linkClicked" }, ngImport: i0, template: "<div class=\"notification-message {{className}}\">\r\n <div class=\"notification-message-container tld-default-border\" [ngClass.lt-md]=\"'mobile'\" [class.inline]=\"inline\"\r\n fxLayout=\"row\" fxLayoutAlign=\"start start\" [attr.id]=\"message.id\" aria-live=\"polite\" fxLayout=\"row\">\r\n <span class=\"material-icons message-icon\">\r\n {{iconNames[message.type]}}\r\n </span>\r\n <div class=\"items-container\" fxFlex>\r\n <div fxLayout=\"row\">\r\n <div class=\"text-container\" fxFlex>\r\n <h1 *ngIf=\"message.title\" class=\"message-title\"\r\n [innerHtml]=\"message.title | translate: message.localizationParams\"></h1>\r\n <p *ngIf=\"message.body\" class=\"message-body\">\r\n <span [innerHtml]=\"message.body | translate: message.localizationParams\"></span>\r\n <span *ngIf=\"message.support\" [innerHtml]=\"message.support | translate: message.localizationParams\"></span>\r\n </p>\r\n </div>\r\n <tld-close-button *ngIf=\"!message.hideClose\" class=\"close-button\" (tldClick)=\"closeClick()\">\r\n </tld-close-button>\r\n </div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"16px\" fxLayoutAlign=\"start center\"\r\n *ngIf=\"message.buttonText || message.linkHref || message.routerLink\">\r\n <button class=\"message-action-button\" color=\"accent\" mat-flat-button *ngIf=\"message.buttonText\"\r\n (click)=\"buttonClick()\">{{message.buttonText | translate}} </button>\r\n <a class=\"message-action-link\" *ngIf=\"message.linkHref && message.linkText\" (click)=\"linkClick()\"\r\n [attr.href]=\"message.linkHref\">{{message.linkText |\r\n translate}}</a>\r\n <a class=\"message-action-link\" *ngIf=\"message.routerLink && message.linkText\" (click)=\"linkClick()\"\r\n [routerLink]=\"[message.routerLink]\">{{message.linkText |\r\n translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".notification-message.basic .notification-message-container{background-color:var(--base-100);border-color:var(--base-100)}.notification-message.basic .notification-message-container .message-icon{color:var(--base-40)}.notification-message.basic .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.error .notification-message-container{background-color:var(--error-light);border-color:var(--base-100)}.notification-message.error .notification-message-container .message-icon{color:var(--error-dark)}.notification-message.error .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.warning .notification-message-container{background-color:var(--warning-light);border-color:var(--base-100)}.notification-message.warning .notification-message-container .message-icon{color:var(--warning-dark)}.notification-message.warning .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.success .notification-message-container{background-color:var(--success-light);border-color:var(--base-100)}.notification-message.success .notification-message-container .message-icon{color:var(--success-dark)}.notification-message.success .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message .notification-message-container{border:1px solid var(--base-95);border-radius:.5em}.notification-message .notification-message-container.mobile{padding:.6em .4em!important}.notification-message .notification-message-container.mobile .items-container{margin-left:.4em!important}.notification-message .notification-message-container.mobile .items-container div+div{margin-top:.2em!important}.notification-message .notification-message-container.mobile .items-container .message-title+.message-body{margin-top:0!important}.notification-message .notification-message-container .text-container:first-child{line-height:1.5em}.notification-message .notification-message-container .text-container .message-title{font-weight:500;margin:0}.notification-message .notification-message-container .text-container .message-body{margin:0}.notification-message .notification-message-container:not(.inline){padding:1.5em}.notification-message .notification-message-container:not(.inline) .items-container{margin-left:1em}.notification-message .notification-message-container:not(.inline) .items-container div+div,.notification-message .notification-message-container:not(.inline) .items-container .message-title+.message-body{margin-top:1em}.notification-message .notification-message-container:not(.inline) .message-title{font-size:1.25em}.notification-message .notification-message-container:not(.inline) .message-body{line-height:1.5em}.notification-message .notification-message-container.inline{padding:.75em 1em}.notification-message .notification-message-container.inline .items-container{margin-left:.75em}.notification-message .notification-message-container.inline .items-container div+div{margin-top:.5em}.notification-message .notification-message-container.inline .items-container .message-title+.message-body{margin-top:.2em}.notification-message .notification-message-container.inline .message-title{font-size:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
36
|
+
NotificationMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: { message: "message", inline: "inline" }, outputs: { buttonClicked: "buttonClicked", closeClicked: "closeClicked", linkClicked: "linkClicked" }, ngImport: i0, template: "<div class=\"notification-message {{className}}\">\r\n <div class=\"notification-message-container tld-default-border\" [ngClass.lt-md]=\"'mobile'\" [class.inline]=\"inline\"\r\n fxLayout=\"row\" fxLayoutAlign=\"start start\" [attr.id]=\"message.id\" aria-live=\"polite\" fxLayout=\"row\">\r\n <span class=\"material-icons message-icon\">\r\n {{iconNames[message.type]}}\r\n </span>\r\n <div class=\"items-container\" fxFlex>\r\n <div fxLayout=\"row\">\r\n <div class=\"text-container\" fxFlex>\r\n <h1 *ngIf=\"message.title\" class=\"message-title\"\r\n [innerHtml]=\"message.title | translate: message.localizationParams\"></h1>\r\n <p *ngIf=\"message.body\" class=\"message-body\">\r\n <span [innerHtml]=\"message.body | translate: message.localizationParams\"></span>\r\n <span *ngIf=\"message.support\" [innerHtml]=\"message.support | translate: message.localizationParams\"></span>\r\n </p>\r\n </div>\r\n <tld-close-button *ngIf=\"!message.hideClose\" class=\"close-button\" (tldClick)=\"closeClick()\">\r\n </tld-close-button>\r\n </div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"16px\" fxLayoutAlign=\"start center\"\r\n *ngIf=\"message.buttonText || message.linkHref || message.routerLink\">\r\n <button class=\"message-action-button\" color=\"accent\" mat-flat-button *ngIf=\"message.buttonText\"\r\n (click)=\"buttonClick()\">{{message.buttonText | translate}} </button>\r\n <a class=\"message-action-link\" *ngIf=\"message.linkHref && message.linkText\" (click)=\"linkClick()\"\r\n [attr.href]=\"message.linkHref\">{{message.linkText |\r\n translate}}</a>\r\n <a class=\"message-action-link\" *ngIf=\"message.routerLink && message.linkText\" (click)=\"linkClick()\"\r\n [routerLink]=\"[message.routerLink]\">{{message.linkText |\r\n translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block;width:100%}.notification-message.basic .notification-message-container{background-color:var(--base-100);border-color:var(--base-100)}.notification-message.basic .notification-message-container .message-icon{color:var(--base-40)}.notification-message.basic .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.error .notification-message-container{background-color:var(--error-light);border-color:var(--base-100)}.notification-message.error .notification-message-container .message-icon{color:var(--error-dark)}.notification-message.error .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.warning .notification-message-container{background-color:var(--warning-light);border-color:var(--base-100)}.notification-message.warning .notification-message-container .message-icon{color:var(--warning-dark)}.notification-message.warning .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.success .notification-message-container{background-color:var(--success-light);border-color:var(--base-100)}.notification-message.success .notification-message-container .message-icon{color:var(--success-dark)}.notification-message.success .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message .notification-message-container{border:1px solid var(--base-95);border-radius:.5em}.notification-message .notification-message-container.mobile{padding:.6em .4em!important}.notification-message .notification-message-container.mobile .items-container{margin-left:.4em!important}.notification-message .notification-message-container.mobile .items-container div+div{margin-top:.2em!important}.notification-message .notification-message-container.mobile .items-container .message-title+.message-body{margin-top:0!important}.notification-message .notification-message-container .text-container:first-child{line-height:1.5em}.notification-message .notification-message-container .text-container .message-title{font-weight:500;margin:0}.notification-message .notification-message-container .text-container .message-body{margin:0}.notification-message .notification-message-container:not(.inline){padding:1.5em}.notification-message .notification-message-container:not(.inline) .items-container{margin-left:1em}.notification-message .notification-message-container:not(.inline) .items-container div+div,.notification-message .notification-message-container:not(.inline) .items-container .message-title+.message-body{margin-top:1em}.notification-message .notification-message-container:not(.inline) .message-title{font-size:1.25em}.notification-message .notification-message-container:not(.inline) .message-body{line-height:1.5em}.notification-message .notification-message-container.inline{padding:.75em 1em}.notification-message .notification-message-container.inline .items-container{margin-left:.75em}.notification-message .notification-message-container.inline .items-container div+div{margin-top:.5em}.notification-message .notification-message-container.inline .items-container .message-title+.message-body{margin-top:.2em}.notification-message .notification-message-container.inline .message-title{font-size:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotificationMessageComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
|
-
args: [{ selector: 'lib-tld-notification-message', template: "<div class=\"notification-message {{className}}\">\r\n <div class=\"notification-message-container tld-default-border\" [ngClass.lt-md]=\"'mobile'\" [class.inline]=\"inline\"\r\n fxLayout=\"row\" fxLayoutAlign=\"start start\" [attr.id]=\"message.id\" aria-live=\"polite\" fxLayout=\"row\">\r\n <span class=\"material-icons message-icon\">\r\n {{iconNames[message.type]}}\r\n </span>\r\n <div class=\"items-container\" fxFlex>\r\n <div fxLayout=\"row\">\r\n <div class=\"text-container\" fxFlex>\r\n <h1 *ngIf=\"message.title\" class=\"message-title\"\r\n [innerHtml]=\"message.title | translate: message.localizationParams\"></h1>\r\n <p *ngIf=\"message.body\" class=\"message-body\">\r\n <span [innerHtml]=\"message.body | translate: message.localizationParams\"></span>\r\n <span *ngIf=\"message.support\" [innerHtml]=\"message.support | translate: message.localizationParams\"></span>\r\n </p>\r\n </div>\r\n <tld-close-button *ngIf=\"!message.hideClose\" class=\"close-button\" (tldClick)=\"closeClick()\">\r\n </tld-close-button>\r\n </div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"16px\" fxLayoutAlign=\"start center\"\r\n *ngIf=\"message.buttonText || message.linkHref || message.routerLink\">\r\n <button class=\"message-action-button\" color=\"accent\" mat-flat-button *ngIf=\"message.buttonText\"\r\n (click)=\"buttonClick()\">{{message.buttonText | translate}} </button>\r\n <a class=\"message-action-link\" *ngIf=\"message.linkHref && message.linkText\" (click)=\"linkClick()\"\r\n [attr.href]=\"message.linkHref\">{{message.linkText |\r\n translate}}</a>\r\n <a class=\"message-action-link\" *ngIf=\"message.routerLink && message.linkText\" (click)=\"linkClick()\"\r\n [routerLink]=\"[message.routerLink]\">{{message.linkText |\r\n translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".notification-message.basic .notification-message-container{background-color:var(--base-100);border-color:var(--base-100)}.notification-message.basic .notification-message-container .message-icon{color:var(--base-40)}.notification-message.basic .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.error .notification-message-container{background-color:var(--error-light);border-color:var(--base-100)}.notification-message.error .notification-message-container .message-icon{color:var(--error-dark)}.notification-message.error .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.warning .notification-message-container{background-color:var(--warning-light);border-color:var(--base-100)}.notification-message.warning .notification-message-container .message-icon{color:var(--warning-dark)}.notification-message.warning .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.success .notification-message-container{background-color:var(--success-light);border-color:var(--base-100)}.notification-message.success .notification-message-container .message-icon{color:var(--success-dark)}.notification-message.success .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message .notification-message-container{border:1px solid var(--base-95);border-radius:.5em}.notification-message .notification-message-container.mobile{padding:.6em .4em!important}.notification-message .notification-message-container.mobile .items-container{margin-left:.4em!important}.notification-message .notification-message-container.mobile .items-container div+div{margin-top:.2em!important}.notification-message .notification-message-container.mobile .items-container .message-title+.message-body{margin-top:0!important}.notification-message .notification-message-container .text-container:first-child{line-height:1.5em}.notification-message .notification-message-container .text-container .message-title{font-weight:500;margin:0}.notification-message .notification-message-container .text-container .message-body{margin:0}.notification-message .notification-message-container:not(.inline){padding:1.5em}.notification-message .notification-message-container:not(.inline) .items-container{margin-left:1em}.notification-message .notification-message-container:not(.inline) .items-container div+div,.notification-message .notification-message-container:not(.inline) .items-container .message-title+.message-body{margin-top:1em}.notification-message .notification-message-container:not(.inline) .message-title{font-size:1.25em}.notification-message .notification-message-container:not(.inline) .message-body{line-height:1.5em}.notification-message .notification-message-container.inline{padding:.75em 1em}.notification-message .notification-message-container.inline .items-container{margin-left:.75em}.notification-message .notification-message-container.inline .items-container div+div{margin-top:.5em}.notification-message .notification-message-container.inline .items-container .message-title+.message-body{margin-top:.2em}.notification-message .notification-message-container.inline .message-title{font-size:1em}\n"] }]
|
|
39
|
+
args: [{ selector: 'lib-tld-notification-message', template: "<div class=\"notification-message {{className}}\">\r\n <div class=\"notification-message-container tld-default-border\" [ngClass.lt-md]=\"'mobile'\" [class.inline]=\"inline\"\r\n fxLayout=\"row\" fxLayoutAlign=\"start start\" [attr.id]=\"message.id\" aria-live=\"polite\" fxLayout=\"row\">\r\n <span class=\"material-icons message-icon\">\r\n {{iconNames[message.type]}}\r\n </span>\r\n <div class=\"items-container\" fxFlex>\r\n <div fxLayout=\"row\">\r\n <div class=\"text-container\" fxFlex>\r\n <h1 *ngIf=\"message.title\" class=\"message-title\"\r\n [innerHtml]=\"message.title | translate: message.localizationParams\"></h1>\r\n <p *ngIf=\"message.body\" class=\"message-body\">\r\n <span [innerHtml]=\"message.body | translate: message.localizationParams\"></span>\r\n <span *ngIf=\"message.support\" [innerHtml]=\"message.support | translate: message.localizationParams\"></span>\r\n </p>\r\n </div>\r\n <tld-close-button *ngIf=\"!message.hideClose\" class=\"close-button\" (tldClick)=\"closeClick()\">\r\n </tld-close-button>\r\n </div>\r\n <div fxLayout=\"row\" fxLayoutGap=\"16px\" fxLayoutAlign=\"start center\"\r\n *ngIf=\"message.buttonText || message.linkHref || message.routerLink\">\r\n <button class=\"message-action-button\" color=\"accent\" mat-flat-button *ngIf=\"message.buttonText\"\r\n (click)=\"buttonClick()\">{{message.buttonText | translate}} </button>\r\n <a class=\"message-action-link\" *ngIf=\"message.linkHref && message.linkText\" (click)=\"linkClick()\"\r\n [attr.href]=\"message.linkHref\">{{message.linkText |\r\n translate}}</a>\r\n <a class=\"message-action-link\" *ngIf=\"message.routerLink && message.linkText\" (click)=\"linkClick()\"\r\n [routerLink]=\"[message.routerLink]\">{{message.linkText |\r\n translate}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block;width:100%}.notification-message.basic .notification-message-container{background-color:var(--base-100);border-color:var(--base-100)}.notification-message.basic .notification-message-container .message-icon{color:var(--base-40)}.notification-message.basic .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.error .notification-message-container{background-color:var(--error-light);border-color:var(--base-100)}.notification-message.error .notification-message-container .message-icon{color:var(--error-dark)}.notification-message.error .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.warning .notification-message-container{background-color:var(--warning-light);border-color:var(--base-100)}.notification-message.warning .notification-message-container .message-icon{color:var(--warning-dark)}.notification-message.warning .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message.success .notification-message-container{background-color:var(--success-light);border-color:var(--base-100)}.notification-message.success .notification-message-container .message-icon{color:var(--success-dark)}.notification-message.success .notification-message-container .message-action-button{background-color:var(--base-40)}.notification-message .notification-message-container{border:1px solid var(--base-95);border-radius:.5em}.notification-message .notification-message-container.mobile{padding:.6em .4em!important}.notification-message .notification-message-container.mobile .items-container{margin-left:.4em!important}.notification-message .notification-message-container.mobile .items-container div+div{margin-top:.2em!important}.notification-message .notification-message-container.mobile .items-container .message-title+.message-body{margin-top:0!important}.notification-message .notification-message-container .text-container:first-child{line-height:1.5em}.notification-message .notification-message-container .text-container .message-title{font-weight:500;margin:0}.notification-message .notification-message-container .text-container .message-body{margin:0}.notification-message .notification-message-container:not(.inline){padding:1.5em}.notification-message .notification-message-container:not(.inline) .items-container{margin-left:1em}.notification-message .notification-message-container:not(.inline) .items-container div+div,.notification-message .notification-message-container:not(.inline) .items-container .message-title+.message-body{margin-top:1em}.notification-message .notification-message-container:not(.inline) .message-title{font-size:1.25em}.notification-message .notification-message-container:not(.inline) .message-body{line-height:1.5em}.notification-message .notification-message-container.inline{padding:.75em 1em}.notification-message .notification-message-container.inline .items-container{margin-left:.75em}.notification-message .notification-message-container.inline .items-container div+div{margin-top:.5em}.notification-message .notification-message-container.inline .items-container .message-title+.message-body{margin-top:.2em}.notification-message .notification-message-container.inline .message-title{font-size:1em}\n"] }]
|
|
40
40
|
}], propDecorators: { message: [{
|
|
41
41
|
type: Input
|
|
42
42
|
}], buttonClicked: [{
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DateAgoPipe } from './date-ago.pipe';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DateAgoModule {
|
|
7
|
+
}
|
|
8
|
+
DateAgoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateAgoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
DateAgoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DateAgoModule, declarations: [DateAgoPipe], imports: [CommonModule,
|
|
10
|
+
TranslateModule], exports: [DateAgoPipe] });
|
|
11
|
+
DateAgoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateAgoModule, imports: [CommonModule,
|
|
12
|
+
TranslateModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateAgoModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [
|
|
17
|
+
DateAgoPipe
|
|
18
|
+
],
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule,
|
|
21
|
+
TranslateModule
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
DateAgoPipe
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZ28ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3BpcGVzL2RhdGUtYWdvL2RhdGUtYWdvLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWdCdEQsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkFWdEIsV0FBVyxhQUdYLFlBQVk7UUFDWixlQUFlLGFBR2YsV0FBVzsyR0FHRixhQUFhLFlBUHRCLFlBQVk7UUFDWixlQUFlOzJGQU1OLGFBQWE7a0JBWnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFdBQVc7cUJBQ1o7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEYXRlQWdvUGlwZSB9IGZyb20gJy4vZGF0ZS1hZ28ucGlwZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRGF0ZUFnb1BpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRGF0ZUFnb1BpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlQWdvTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Inject, Optional, Pipe } from '@angular/core';
|
|
2
|
+
import { TranslatePipe } from '@ngx-translate/core';
|
|
3
|
+
import { DateAgoSettingsToken } from './models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
/**
|
|
7
|
+
* Pipe that converts date to date ago and returns translated string.
|
|
8
|
+
*/
|
|
9
|
+
export class DateAgoPipe {
|
|
10
|
+
constructor(translate, _ref, settings) {
|
|
11
|
+
this.translate = translate;
|
|
12
|
+
this._ref = _ref;
|
|
13
|
+
this.settings = settings;
|
|
14
|
+
this.defaultSettings = {
|
|
15
|
+
intervals: [
|
|
16
|
+
{
|
|
17
|
+
key: "YEAR",
|
|
18
|
+
interval: 31536000,
|
|
19
|
+
min: 1
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
key: "MONTH",
|
|
23
|
+
interval: 2592000,
|
|
24
|
+
min: 1
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "WEEK",
|
|
28
|
+
interval: 604800,
|
|
29
|
+
min: 2
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: "DAY",
|
|
33
|
+
interval: 86400,
|
|
34
|
+
min: 1
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: "HOUR",
|
|
38
|
+
interval: 3600,
|
|
39
|
+
min: 1
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
key: "MINUTE",
|
|
43
|
+
interval: 60,
|
|
44
|
+
min: 1
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: "SECOND",
|
|
48
|
+
interval: 1,
|
|
49
|
+
min: 10
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
localizationPrefix: "DATE_AGO",
|
|
53
|
+
multiplePostfix: "S",
|
|
54
|
+
justNowKey: "JUST_NOW",
|
|
55
|
+
justNowSeconds: 29
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
get intervals() { return this.settings?.intervals ?? this.defaultSettings.intervals; }
|
|
59
|
+
get multiplePostfix() { return this.settings?.multiplePostfix ?? this.defaultSettings.multiplePostfix; }
|
|
60
|
+
get localizationPrefix() { return this.settings?.localizationPrefix ?? this.defaultSettings.localizationPrefix; }
|
|
61
|
+
get justNowKey() { return this.settings?.justNowKey ?? this.defaultSettings.justNowKey; }
|
|
62
|
+
get justNowSeconds() { return this.settings?.justNowSeconds ?? this.defaultSettings.justNowSeconds; }
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
|
+
transform(value, enableMultiplePostfix = true) {
|
|
65
|
+
const dateAgo = this.calculateDateAgo(value, enableMultiplePostfix);
|
|
66
|
+
if (!dateAgo) {
|
|
67
|
+
return "";
|
|
68
|
+
}
|
|
69
|
+
const translatePipe = new TranslatePipe(this.translate, this._ref);
|
|
70
|
+
return translatePipe.transform(`${this.localizationPrefix}.${dateAgo.key}`, { value: dateAgo.howMany });
|
|
71
|
+
}
|
|
72
|
+
calculateDateAgo(value, enableMultiplePostfix) {
|
|
73
|
+
if (value) {
|
|
74
|
+
const seconds = Math.floor((new Date().getTime() - new Date(value).getTime()) / 1000);
|
|
75
|
+
if (seconds < this.justNowSeconds) // less than 30 seconds ago will show as 'Just now'
|
|
76
|
+
return { key: this.justNowKey };
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
|
+
let counter;
|
|
79
|
+
let type;
|
|
80
|
+
for (let i = 0; i < this.intervals.length; i++) {
|
|
81
|
+
const interval = this.intervals[i];
|
|
82
|
+
counter = Math.floor(seconds / interval.interval);
|
|
83
|
+
if (counter >= interval.min) {
|
|
84
|
+
type = interval.key;
|
|
85
|
+
if (enableMultiplePostfix && counter > 1) {
|
|
86
|
+
// add "S" in the end of localization key
|
|
87
|
+
type += this.multiplePostfix;
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return { key: type, howMany: counter };
|
|
93
|
+
}
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
DateAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateAgoPipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: DateAgoSettingsToken, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
98
|
+
DateAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DateAgoPipe, name: "dateAgo", pure: false });
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateAgoPipe, decorators: [{
|
|
100
|
+
type: Pipe,
|
|
101
|
+
args: [{
|
|
102
|
+
name: 'dateAgo',
|
|
103
|
+
pure: false
|
|
104
|
+
}]
|
|
105
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
106
|
+
type: Inject,
|
|
107
|
+
args: [DateAgoSettingsToken]
|
|
108
|
+
}, {
|
|
109
|
+
type: Optional
|
|
110
|
+
}] }]; } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9waXBlcy9kYXRlLWFnby9kYXRlLWFnby5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUE0QixvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBTTFFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFxRHRCLFlBQTZCLFNBQTJCLEVBQ3JDLElBQXVCLEVBQ21CLFFBQXlCO1FBRnpELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ3JDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ21CLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBckQ3RSxvQkFBZSxHQUFvQjtZQUMxQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsR0FBRyxFQUFFLE1BQU07b0JBQ1gsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLEdBQUcsRUFBRSxDQUFDO2lCQUNQO2dCQUNEO29CQUNFLEdBQUcsRUFBRSxPQUFPO29CQUNaLFFBQVEsRUFBRSxPQUFPO29CQUNqQixHQUFHLEVBQUUsQ0FBQztpQkFDUDtnQkFDRDtvQkFDRSxHQUFHLEVBQUUsTUFBTTtvQkFDWCxRQUFRLEVBQUUsTUFBTTtvQkFDaEIsR0FBRyxFQUFFLENBQUM7aUJBQ1A7Z0JBQ0Q7b0JBQ0UsR0FBRyxFQUFFLEtBQUs7b0JBQ1YsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsR0FBRyxFQUFFLENBQUM7aUJBQ1A7Z0JBQ0Q7b0JBQ0UsR0FBRyxFQUFFLE1BQU07b0JBQ1gsUUFBUSxFQUFFLElBQUk7b0JBQ2QsR0FBRyxFQUFFLENBQUM7aUJBQ1A7Z0JBQ0Q7b0JB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cUJBQXFCLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRTt3QkFDeEMseUNBQXlDO3dCQUN6QyxJQUFJLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztxQkFDOUI7b0JBQ0QsTUFBTTtpQkFDUDthQUNGO1lBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzt3R0FoR1UsV0FBVyxtRkF1RFosb0JBQW9CO3NHQXZEbkIsV0FBVzsyRkFBWCxXQUFXO2tCQVB2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxLQUFLO2lCQUNaOzswQkEyREksTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0LCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZ28sIERhdGVBZ29TZXR0aW5ncywgRGF0ZUFnb1NldHRpbmdzVG9rZW4gfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2RhdGVBZ28nLFxyXG4gIHB1cmU6IGZhbHNlXHJcbn0pXHJcbi8qKlxyXG4gKiBQaXBlIHRoYXQgY29udmVydHMgZGF0ZSB0byBkYXRlIGFnbyBhbmQgcmV0dXJucyB0cmFuc2xhdGVkIHN0cmluZy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBEYXRlQWdvUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICByZWFkb25seSBkZWZhdWx0U2V0dGluZ3M6IERhdGVBZ29TZXR0aW5ncyA9IHtcclxuICAgIGludGVydmFsczogW1xyXG4gICAgICB7XHJcbiAgICAgICAga2V5OiBcIllFQVJcIixcclxuICAgICAgICBpbnRlcnZhbDogMzE1MzYwMDAsXHJcbiAgICAgICAgbWluOiAxXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBrZXk6IFwiTU9OVEhcIixcclxuICAgICAgICBpbnRlcnZhbDogMjU5MjAwMCxcclxuICAgICAgICBtaW46IDFcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGtleTogXCJXRUVLXCIsXHJcbiAgICAgICAgaW50ZXJ2YWw6IDYwNDgwMCxcclxuICAgICAgICBtaW46IDJcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGtleTogXCJEQVlcIixcclxuICAgICAgICBpbnRlcnZhbDogODY0MDAsXHJcbiAgICAgICAgbWluOiAxXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBrZXk6IFwiSE9VUlwiLFxyXG4gICAgICAgIGludGVydmFsOiAzNjAwLFxyXG4gICAgICAgIG1pbjogMVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAga2V5OiBcIk1JTlVURVwiLFxyXG4gICAgICAgIGludGVydmFsOiA2MCxcclxuICAgICAgICBtaW46IDFcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGtleTogXCJTRUNPTkRcIixcclxuICAgICAgICBpbnRlcnZhbDogMSxcclxuICAgICAgICBtaW46IDEwXHJcbiAgICAgIH1cclxuICAgIF0sXHJcbiAgICBsb2NhbGl6YXRpb25QcmVmaXg6IFwiREFURV9BR09cIixcclxuICAgIG11bHRpcGxlUG9zdGZpeDogXCJTXCIsXHJcbiAgICBqdXN0Tm93S2V5OiBcIkpVU1RfTk9XXCIsXHJcbiAgICBqdXN0Tm93U2Vjb25kczogMjlcclxuXHJcbiAgfTtcclxuXHJcbiAgZ2V0IGludGVydmFscygpIHsgcmV0dXJuIHRoaXMuc2V0dGluZ3M/LmludGVydmFscyA/PyB0aGlzLmRlZmF1bHRTZXR0aW5ncy5pbnRlcnZhbHMgfVxyXG4gIGdldCBtdWx0aXBsZVBvc3RmaXgoKSB7IHJldHVybiB0aGlzLnNldHRpbmdzPy5tdWx0aXBsZVBvc3RmaXggPz8gdGhpcy5kZWZhdWx0U2V0dGluZ3MubXVsdGlwbGVQb3N0Zml4IH1cclxuICBnZXQgbG9jYWxpemF0aW9uUHJlZml4KCkgeyByZXR1cm4gdGhpcy5zZXR0aW5ncz8ubG9jYWxpemF0aW9uUHJlZml4ID8/IHRoaXMuZGVmYXVsdFNldHRpbmdzLmxvY2FsaXphdGlvblByZWZpeCB9XHJcbiAgZ2V0IGp1c3ROb3dLZXkoKSB7IHJldHVybiB0aGlzLnNldHRpbmdzPy5qdXN0Tm93S2V5ID8/IHRoaXMuZGVmYXVsdFNldHRpbmdzLmp1c3ROb3dLZXkgfVxyXG4gIGdldCBqdXN0Tm93U2Vjb25kcygpIHsgcmV0dXJuIHRoaXMuc2V0dGluZ3M/Lmp1c3ROb3dTZWNvbmRzID8/IHRoaXMuZGVmYXVsdFNldHRpbmdzLmp1c3ROb3dTZWNvbmRzIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChEYXRlQWdvU2V0dGluZ3NUb2tlbikgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nczogRGF0ZUFnb1NldHRpbmdzKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICB0cmFuc2Zvcm0odmFsdWU6IERhdGUsIGVuYWJsZU11bHRpcGxlUG9zdGZpeCA9IHRydWUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF0ZUFnbyA9IHRoaXMuY2FsY3VsYXRlRGF0ZUFnbyh2YWx1ZSwgZW5hYmxlTXVsdGlwbGVQb3N0Zml4KTtcclxuICAgIGlmICghZGF0ZUFnbykge1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0cmFuc2xhdGVQaXBlID0gbmV3IFRyYW5zbGF0ZVBpcGUodGhpcy50cmFuc2xhdGUsIHRoaXMuX3JlZik7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oYCR7dGhpcy5sb2NhbGl6YXRpb25QcmVmaXh9LiR7ZGF0ZUFnby5rZXl9YCwgeyB2YWx1ZTogZGF0ZUFnby5ob3dNYW55IH0pO1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlRGF0ZUFnbyh2YWx1ZTogRGF0ZSwgZW5hYmxlTXVsdGlwbGVQb3N0Zml4OiBib29sZWFuKTogRGF0ZUFnbyB8IG51bGwge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lKCkpIC8gMTAwMCk7XHJcbiAgICAgIGlmIChzZWNvbmRzIDwgdGhpcy5qdXN0Tm93U2Vjb25kcykgLy8gbGVzcyB0aGFuIDMwIHNlY29uZHMgYWdvIHdpbGwgc2hvdyBhcyAnSnVzdCBub3cnXHJcbiAgICAgICAgcmV0dXJuIHsga2V5OiB0aGlzLmp1c3ROb3dLZXkgfTtcclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcblxyXG4gICAgICBsZXQgY291bnRlciE6IG51bWJlcjtcclxuICAgICAgbGV0IHR5cGUhOiBzdHJpbmc7XHJcblxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaW50ZXJ2YWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSB0aGlzLmludGVydmFsc1tpXTtcclxuICAgICAgICBjb3VudGVyID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gaW50ZXJ2YWwuaW50ZXJ2YWwpO1xyXG4gICAgICAgIGlmIChjb3VudGVyID49IGludGVydmFsLm1pbikge1xyXG4gICAgICAgICAgdHlwZSA9IGludGVydmFsLmtleTtcclxuICAgICAgICAgIGlmIChlbmFibGVNdWx0aXBsZVBvc3RmaXggJiYgY291bnRlciA+IDEpIHtcclxuICAgICAgICAgICAgLy8gYWRkIFwiU1wiIGluIHRoZSBlbmQgb2YgbG9jYWxpemF0aW9uIGtleVxyXG4gICAgICAgICAgICB0eXBlICs9IHRoaXMubXVsdGlwbGVQb3N0Zml4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IGtleTogdHlwZSwgaG93TWFueTogY291bnRlciB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './date-ago.module';
|
|
2
|
+
export * from './date-ago.pipe';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvZGF0ZS1hZ28vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLWFnby5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtYWdvLnBpcGUnO1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZ28taW50ZXJ2YWwubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvZGF0ZS1hZ28vbW9kZWxzL2RhdGUtYWdvLWludGVydmFsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERhdGVBZ29JbnRlcnZhbHtcclxuICBrZXk6IHN0cmluZztcclxuICBpbnRlcnZhbDogbnVtYmVyO1xyXG4gIG1pbjogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZ28tc2V0dGluZ3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvZGF0ZS1hZ28vbW9kZWxzL2RhdGUtYWdvLXNldHRpbmdzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlQWdvSW50ZXJ2YWwgfSBmcm9tIFwiLi9kYXRlLWFnby1pbnRlcnZhbC5tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIERhdGVBZ28gcGlwZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZUFnb1NldHRpbmdzIHtcclxuICAvKipcclxuICAgKiBJbnRlcnZhbHMgZm9yIGRlZmluZWQgZ3JvdXBzLlxyXG4gICAqL1xyXG4gIGludGVydmFsczogRGF0ZUFnb0ludGVydmFsW107XHJcbiAgLyoqXHJcbiAgICogU3RyaW5nIHRvIGJlIGFkZGVkIHRvIG9yaWdpbmFsIGtleSBpZiBpbnRlcnZhbCBncm91cCB2YWx1ZSBpcyBiaWdnZXIgdGhhbiAxLiBUeXBpY2FsbHkgeW91IHdhbnQgdG8gYWRkICdTJyB0byB0aGUga2V5LCBpZiB2YWx1ZSBpcyBtdWx0aXBsZS5cclxuICAgKi9cclxuICBtdWx0aXBsZVBvc3RmaXg6IHN0cmluZztcclxuICAvKipcclxuICAgKiBMb2NhbGl6YXRpb24ga2V5LCB0aGF0IHNob3VsZCBiZSBiZWZvcmUgaW50ZXJ2YWwga2V5LiBEbyBub3QgcGxhY2UgJy4nIGF0IHRoZSBlbmQgb2Yga2V5LlxyXG4gICAqL1xyXG4gIGxvY2FsaXphdGlvblByZWZpeDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEtleSBmb3IgXCJKdXN0IG5vd1wiXHJcbiAgICovXHJcbiAganVzdE5vd0tleTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEZvciBob3cgbWFueSBzZWNvbmRzIHNob3VsZCBzaG93IGp1c3Qgbm93LlxyXG4gICAqL1xyXG4gIGp1c3ROb3dTZWNvbmRzOiBudW1iZXI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const DateAgoSettingsToken = "DATE_AGO_SETTINGS";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZ28tc2V0dGluZ3MudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvZGF0ZS1hZ28vbW9kZWxzL2RhdGUtYWdvLXNldHRpbmdzLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERhdGVBZ29TZXR0aW5nc1Rva2VuID0gXCJEQVRFX0FHT19TRVRUSU5HU1wiO1xyXG4iXX0=
|