monkey-style-guide-v2 0.0.4 → 0.0.6
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/assets/scss/directives/_index.scss +7 -0
- package/assets/scss/directives/_styles.scss +100 -0
- package/assets/scss/input/_index.scss +7 -0
- package/assets/scss/input/_styles.scss +43 -0
- package/assets/scss/partials/_index.scss +7 -0
- package/assets/scss/partials/_style-reset.scss +189 -0
- package/assets/scss/partials/_variables.scss +178 -0
- package/assets/scss/table/_index.scss +7 -0
- package/assets/scss/table/_styles.scss +45 -0
- package/assets/scss/theme.scss +11 -0
- package/assets/scss/typography/_function.scss +23 -0
- package/assets/scss/typography/_index.scss +9 -0
- package/assets/scss/typography/_mixins.scss +111 -0
- package/assets/scss/typography/_styles.scss +173 -0
- package/esm2022/lib/components/index.mjs +14 -1
- package/esm2022/lib/components/monkey-accordion/index.mjs +2 -0
- package/esm2022/lib/components/monkey-accordion/monkey-accordion.component.mjs +102 -0
- package/esm2022/lib/components/monkey-alert/index.mjs +2 -0
- package/esm2022/lib/components/monkey-alert/monkey-alert.component.mjs +50 -0
- package/esm2022/lib/components/monkey-breadcrumb/index.mjs +2 -0
- package/esm2022/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.mjs +56 -0
- package/esm2022/lib/components/monkey-button/monkey-button.component.mjs +27 -12
- package/esm2022/lib/components/monkey-checkbox/index.mjs +2 -0
- package/esm2022/lib/components/monkey-checkbox/monkey-checkbox.component.mjs +216 -0
- package/esm2022/lib/components/monkey-divider/index.mjs +2 -0
- package/esm2022/lib/components/monkey-divider/monkey-divider.component.mjs +44 -0
- package/esm2022/lib/components/monkey-form-field/form-field-control.mjs +15 -0
- package/esm2022/lib/components/monkey-form-field/form-field.mjs +250 -0
- package/esm2022/lib/components/monkey-form-field/index.mjs +5 -0
- package/esm2022/lib/components/monkey-form-field/module.mjs +21 -0
- package/esm2022/lib/components/monkey-form-field/utils.mjs +16 -0
- package/esm2022/lib/components/monkey-icon/monkey-icon.component.mjs +31 -15
- package/esm2022/lib/components/monkey-icon-button/monkey-icon-button.component.mjs +25 -9
- package/esm2022/lib/components/monkey-input/index.mjs +5 -0
- package/esm2022/lib/components/monkey-input/monkey-input-currency.directive.mjs +187 -0
- package/esm2022/lib/components/monkey-input/monkey-input.directive.mjs +166 -0
- package/esm2022/lib/components/monkey-input/monkey-input.module.mjs +24 -0
- package/esm2022/lib/components/monkey-input/validators.mjs +17 -0
- package/esm2022/lib/components/monkey-option/index.mjs +2 -0
- package/esm2022/lib/components/monkey-option/monkey-option.component.mjs +54 -0
- package/esm2022/lib/components/monkey-security-level/monkey-security-level.component.mjs +30 -14
- package/esm2022/lib/components/monkey-select/index.mjs +2 -0
- package/esm2022/lib/components/monkey-select/monkey-select.component.mjs +352 -0
- package/esm2022/lib/components/monkey-status/monkey-status.component.mjs +28 -12
- package/esm2022/lib/components/monkey-table/components/pagination-action/pagination-action.mjs +53 -0
- package/esm2022/lib/components/monkey-table/components/pagination-label/pagination-label.mjs +34 -0
- package/esm2022/lib/components/monkey-table/components/pagination-size/pagination-size.mjs +57 -0
- package/esm2022/lib/components/monkey-table/directives/column-checked.mjs +109 -0
- package/esm2022/lib/components/monkey-table/directives/column-expansible.mjs +134 -0
- package/esm2022/lib/components/monkey-table/directives/column-sortable.mjs +97 -0
- package/esm2022/lib/components/monkey-table/directives/column-stick.mjs +28 -0
- package/esm2022/lib/components/monkey-table/index.mjs +10 -0
- package/esm2022/lib/components/monkey-table/table.mjs +132 -0
- package/esm2022/lib/components/monkey-table/table.module.mjs +60 -0
- package/esm2022/lib/components/monkey-toast/index.mjs +2 -0
- package/esm2022/lib/components/monkey-toast/monkey-toast.component.mjs +74 -0
- package/esm2022/lib/components/monkey-toggle/monkey-toggle.component.mjs +28 -14
- package/esm2022/lib/components/monkey-toggle-line/index.mjs +3 -0
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.mjs +2 -0
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.mjs +24 -0
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line.component.mjs +85 -0
- package/esm2022/lib/components/monkey-tooltip/index.mjs +3 -0
- package/esm2022/lib/components/monkey-tooltip/monkey-tooltip.directive.mjs +175 -0
- package/esm2022/lib/components/monkey-tooltip/tooltip/index.mjs +2 -0
- package/esm2022/lib/components/monkey-tooltip/tooltip/tooltip.component.mjs +53 -0
- package/esm2022/lib/directives/error.mjs +18 -0
- package/esm2022/lib/directives/helper.mjs +18 -0
- package/esm2022/lib/directives/index.mjs +8 -0
- package/esm2022/lib/directives/info.mjs +18 -0
- package/esm2022/lib/directives/label.mjs +18 -0
- package/esm2022/lib/directives/module.mjs +26 -0
- package/esm2022/lib/directives/prefix.mjs +18 -0
- package/esm2022/lib/directives/suffix.mjs +43 -0
- package/esm2022/lib/interfaces/alert.mjs +2 -0
- package/esm2022/lib/interfaces/breadcrumb.mjs +2 -0
- package/esm2022/lib/interfaces/button.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +7 -0
- package/esm2022/lib/interfaces/sizes.mjs +2 -0
- package/esm2022/lib/interfaces/table.mjs +2 -0
- package/esm2022/lib/interfaces/toast.mjs +10 -0
- package/esm2022/lib/services/index.mjs +4 -0
- package/esm2022/lib/services/monkey-destroy.service.mjs +15 -0
- package/esm2022/lib/services/monkey-icons.service.mjs +45 -0
- package/esm2022/lib/services/monkey-toast.service.mjs +72 -0
- package/esm2022/public-api.mjs +6 -3
- package/esm2022/utils/id-generator.mjs +20 -0
- package/esm2022/utils/index.mjs +4 -0
- package/esm2022/utils/tests-utils.mjs +4 -0
- package/esm2022/utils/utils.mjs +10 -0
- package/fesm2022/monkey-style-guide-v2.mjs +3049 -121
- package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
- package/lib/components/index.d.ts +13 -0
- package/lib/components/monkey-accordion/index.d.ts +1 -0
- package/lib/components/monkey-accordion/monkey-accordion.component.d.ts +22 -0
- package/lib/components/monkey-alert/index.d.ts +1 -0
- package/lib/components/monkey-alert/monkey-alert.component.d.ts +23 -0
- package/lib/components/monkey-breadcrumb/index.d.ts +1 -0
- package/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.d.ts +18 -0
- package/lib/components/monkey-button/monkey-button.component.d.ts +11 -4
- package/lib/components/monkey-checkbox/index.d.ts +1 -0
- package/lib/components/monkey-checkbox/monkey-checkbox.component.d.ts +50 -0
- package/lib/components/monkey-divider/index.d.ts +1 -0
- package/lib/components/monkey-divider/monkey-divider.component.d.ts +20 -0
- package/lib/components/monkey-form-field/form-field-control.d.ts +18 -0
- package/lib/components/monkey-form-field/form-field.d.ts +74 -0
- package/lib/components/monkey-form-field/index.d.ts +4 -0
- package/lib/components/monkey-form-field/module.d.ts +7 -0
- package/lib/components/monkey-form-field/utils.d.ts +6 -0
- package/lib/components/monkey-icon/monkey-icon.component.d.ts +6 -1
- package/lib/components/monkey-icon-button/monkey-icon-button.component.d.ts +6 -1
- package/lib/components/monkey-input/index.d.ts +4 -0
- package/lib/components/monkey-input/monkey-input-currency.directive.d.ts +57 -0
- package/lib/components/monkey-input/monkey-input.directive.d.ts +46 -0
- package/lib/components/monkey-input/monkey-input.module.d.ts +8 -0
- package/lib/components/monkey-input/validators.d.ts +1 -0
- package/lib/components/monkey-option/index.d.ts +1 -0
- package/lib/components/monkey-option/monkey-option.component.d.ts +22 -0
- package/lib/components/monkey-security-level/monkey-security-level.component.d.ts +7 -2
- package/lib/components/monkey-select/index.d.ts +1 -0
- package/lib/components/monkey-select/monkey-select.component.d.ts +74 -0
- package/lib/components/monkey-status/monkey-status.component.d.ts +8 -3
- package/lib/components/monkey-table/components/pagination-action/pagination-action.d.ts +17 -0
- package/lib/components/monkey-table/components/pagination-label/pagination-label.d.ts +10 -0
- package/lib/components/monkey-table/components/pagination-size/pagination-size.d.ts +15 -0
- package/lib/components/monkey-table/directives/column-checked.d.ts +32 -0
- package/lib/components/monkey-table/directives/column-expansible.d.ts +25 -0
- package/lib/components/monkey-table/directives/column-sortable.d.ts +24 -0
- package/lib/components/monkey-table/directives/column-stick.d.ts +6 -0
- package/lib/components/monkey-table/index.d.ts +9 -0
- package/lib/components/monkey-table/table.d.ts +32 -0
- package/lib/components/monkey-table/table.module.d.ts +15 -0
- package/lib/components/monkey-toast/index.d.ts +1 -0
- package/lib/components/monkey-toast/monkey-toast.component.d.ts +26 -0
- package/lib/components/monkey-toggle/monkey-toggle.component.d.ts +6 -1
- package/lib/components/monkey-toggle-line/index.d.ts +2 -0
- package/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.d.ts +1 -0
- package/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.d.ts +16 -0
- package/lib/components/monkey-toggle-line/monkey-toggle-line.component.d.ts +24 -0
- package/lib/components/monkey-tooltip/index.d.ts +2 -0
- package/lib/components/monkey-tooltip/monkey-tooltip.directive.d.ts +30 -0
- package/lib/components/monkey-tooltip/tooltip/index.d.ts +1 -0
- package/lib/components/monkey-tooltip/tooltip/tooltip.component.d.ts +19 -0
- package/lib/directives/error.d.ts +5 -0
- package/lib/directives/helper.d.ts +5 -0
- package/lib/directives/index.d.ts +7 -0
- package/lib/directives/info.d.ts +5 -0
- package/lib/directives/label.d.ts +5 -0
- package/lib/directives/module.d.ts +12 -0
- package/lib/directives/prefix.d.ts +5 -0
- package/lib/directives/suffix.d.ts +9 -0
- package/lib/interfaces/alert.d.ts +1 -0
- package/lib/interfaces/breadcrumb.d.ts +5 -0
- package/lib/interfaces/button.d.ts +1 -0
- package/lib/interfaces/index.d.ts +6 -0
- package/lib/interfaces/sizes.d.ts +1 -0
- package/lib/interfaces/table.d.ts +4 -0
- package/lib/interfaces/toast.d.ts +22 -0
- package/lib/services/index.d.ts +3 -0
- package/lib/services/monkey-destroy.service.d.ts +8 -0
- package/lib/services/monkey-icons.service.d.ts +14 -0
- package/lib/services/monkey-toast.service.d.ts +13 -0
- package/monkey-style-guide-v2-0.0.6.tgz +0 -0
- package/package.json +10 -3
- package/public-api.d.ts +5 -2
- package/utils/id-generator.d.ts +6 -0
- package/utils/index.d.ts +3 -0
- package/utils/tests-utils.d.ts +1 -0
- package/utils/utils.d.ts +1 -0
- package/monkey-style-guide-v2-0.0.4.tgz +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { Component, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
8
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { IdGenerator } from '../../../../../utils';
|
|
10
|
+
import { MonkeyFormFieldModule } from '../../../monkey-form-field/module';
|
|
11
|
+
import { MonkeyOptionComponent } from '../../../monkey-option/monkey-option.component';
|
|
12
|
+
import { MonkeySelectComponent } from '../../../monkey-select/monkey-select.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/forms";
|
|
15
|
+
import * as i2 from "../../../monkey-form-field/form-field";
|
|
16
|
+
export class MonkeyPaginationSizeComponent {
|
|
17
|
+
get id() {
|
|
18
|
+
return this._id;
|
|
19
|
+
}
|
|
20
|
+
set id(value) {
|
|
21
|
+
this._id = value || this._uid;
|
|
22
|
+
}
|
|
23
|
+
constructor() {
|
|
24
|
+
this.onChange = new EventEmitter();
|
|
25
|
+
this._uid = inject(IdGenerator).getId('monkey-pagination-size-');
|
|
26
|
+
this.sizes = [10, 20, 50, 100];
|
|
27
|
+
// eslint-disable-next-line no-self-assign
|
|
28
|
+
this.id = this.id;
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationSizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyPaginationSizeComponent, isStandalone: true, selector: "monkey-pagination-size", inputs: { size: "size", disabled: "disabled", id: "id" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "monkey-pagination-size" }, properties: { "attr.id": "id", "id": "id" } }, exportAs: ["monkeyPaginationSize"], ngImport: i0, template: "<ng-content></ng-content>\n<monkey-form-field hideClear>\n <monkey-select placeholder=\"''\" [ngModel]=\"size\" (onChange)=\"onChange.next($event)\">\n @for (item of sizes; track item) {\n <monkey-option [value]=\"item\">{{ item }}</monkey-option>\n }\n </monkey-select>\n</monkey-form-field>\n", styles: ["monkey-pagination-size{display:flex;align-items:center;gap:8px}monkey-pagination-size .mecx-form-field-body{height:32px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MonkeySelectComponent, selector: "monkey-select", inputs: ["tabIndex", "placeholder", "loading", "disabled", "required", "value"], outputs: ["onChange"] }, { kind: "component", type: MonkeyOptionComponent, selector: "monkey-option", inputs: ["value", "disabled"] }, { kind: "ngmodule", type: MonkeyFormFieldModule }, { kind: "component", type: i2.MonkeyFormFieldComponent, selector: "monkey-form-field", inputs: ["id", "hideClear"], exportAs: ["monkeyFormField"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationSizeComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ standalone: true, imports: [
|
|
36
|
+
CommonModule,
|
|
37
|
+
FormsModule,
|
|
38
|
+
ReactiveFormsModule,
|
|
39
|
+
MonkeySelectComponent,
|
|
40
|
+
MonkeyOptionComponent,
|
|
41
|
+
MonkeyFormFieldModule
|
|
42
|
+
], encapsulation: ViewEncapsulation.None, selector: 'monkey-pagination-size', exportAs: 'monkeyPaginationSize', host: {
|
|
43
|
+
'data-testid': 'monkey-pagination-size',
|
|
44
|
+
'[attr.id]': 'id',
|
|
45
|
+
'[id]': 'id'
|
|
46
|
+
}, template: "<ng-content></ng-content>\n<monkey-form-field hideClear>\n <monkey-select placeholder=\"''\" [ngModel]=\"size\" (onChange)=\"onChange.next($event)\">\n @for (item of sizes; track item) {\n <monkey-option [value]=\"item\">{{ item }}</monkey-option>\n }\n </monkey-select>\n</monkey-form-field>\n", styles: ["monkey-pagination-size{display:flex;align-items:center;gap:8px}monkey-pagination-size .mecx-form-field-body{height:32px}\n"] }]
|
|
47
|
+
}], ctorParameters: () => [], propDecorators: { size: [{
|
|
48
|
+
type: Input,
|
|
49
|
+
args: [{ required: true }]
|
|
50
|
+
}], disabled: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], onChange: [{
|
|
53
|
+
type: Output
|
|
54
|
+
}], id: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktdGFibGUvY29tcG9uZW50cy9wYWdpbmF0aW9uLXNpemUvcGFnaW5hdGlvbi1zaXplLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktdGFibGUvY29tcG9uZW50cy9wYWdpbmF0aW9uLXNpemUvcGFnaW5hdGlvbi1zaXplLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7O0FBdUJ2RixNQUFNLE9BQU8sNkJBQTZCO0lBYXhDLElBQ0ksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxFQUFFLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRDtRQWpCVSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU5QixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBSXRFLFVBQUssR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBWXhCLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0F6QlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsbVVDbkMxQyxxVEFRQSxtTERTSSxZQUFZLDhCQUNaLFdBQVcsOFZBQ1gsbUJBQW1CLCtCQUNuQixxQkFBcUIsa0tBQ3JCLHFCQUFxQix3RkFDckIscUJBQXFCOzs0RkFhWiw2QkFBNkI7a0JBckJ6QyxTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIscUJBQXFCO3FCQUN0QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCLHdCQUF3QixZQUN4QixzQkFBc0IsUUFHMUI7d0JBQ0osYUFBYSxFQUFFLHdCQUF3Qjt3QkFDdkMsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO3dEQUcwQixJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFaEIsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQVNILEVBQUU7c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL21vbmtleS1mb3JtLWZpZWxkL21vZHVsZSc7XG5pbXBvcnQgeyBNb25rZXlPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9tb25rZXktb3B0aW9uL21vbmtleS1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE1vbmtleVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL21vbmtleS1zZWxlY3QvbW9ua2V5LXNlbGVjdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1vbmtleVNlbGVjdENvbXBvbmVudCxcbiAgICBNb25rZXlPcHRpb25Db21wb25lbnQsXG4gICAgTW9ua2V5Rm9ybUZpZWxkTW9kdWxlXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnbW9ua2V5LXBhZ2luYXRpb24tc2l6ZScsXG4gIGV4cG9ydEFzOiAnbW9ua2V5UGFnaW5hdGlvblNpemUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi1zaXplLmh0bWwnLFxuICBzdHlsZVVybDogJy4vcGFnaW5hdGlvbi1zaXplLnNjc3MnLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21vbmtleS1wYWdpbmF0aW9uLXNpemUnLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbaWRdJzogJ2lkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleVBhZ2luYXRpb25TaXplQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc2l6ZSE6IDEwIHwgMjAgfCA1MCB8IDEwMDtcblxuICBASW5wdXQoKSBkaXNhYmxlZCE6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByb3RlY3RlZCBfdWlkID0gaW5qZWN0KElkR2VuZXJhdG9yKS5nZXRJZCgnbW9ua2V5LXBhZ2luYXRpb24tc2l6ZS0nKTtcblxuICBwcm90ZWN0ZWQgX2lkITogc3RyaW5nO1xuXG4gIHNpemVzID0gWzEwLCAyMCwgNTAsIDEwMF07XG5cbiAgQElucHV0KClcbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlIHx8IHRoaXMuX3VpZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48bW9ua2V5LWZvcm0tZmllbGQgaGlkZUNsZWFyPlxuICA8bW9ua2V5LXNlbGVjdCBwbGFjZWhvbGRlcj1cIicnXCIgW25nTW9kZWxdPVwic2l6ZVwiIChvbkNoYW5nZSk9XCJvbkNoYW5nZS5uZXh0KCRldmVudClcIj5cbiAgICBAZm9yIChpdGVtIG9mIHNpemVzOyB0cmFjayBpdGVtKSB7XG4gICAgICA8bW9ua2V5LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiPnt7IGl0ZW0gfX08L21vbmtleS1vcHRpb24+XG4gICAgfVxuICA8L21vbmtleS1zZWxlY3Q+XG48L21vbmtleS1mb3JtLWZpZWxkPlxuIl19
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* eslint-disable dot-notation */
|
|
2
|
+
/** ************************
|
|
3
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
4
|
+
* This style guide was developed by Monkey Exchange Team
|
|
5
|
+
* MIT Licence
|
|
6
|
+
************************* */
|
|
7
|
+
import { ChangeDetectorRef, Directive, EventEmitter, HostBinding, Inject, inject, Injector, Input, Optional, Output } from '@angular/core';
|
|
8
|
+
import { Subscription } from 'rxjs';
|
|
9
|
+
import { MonkeyCheckboxComponent } from '../../monkey-checkbox';
|
|
10
|
+
import { MonkeyTableComponent } from '../table';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../table";
|
|
13
|
+
export class MonkeyColumnChecked {
|
|
14
|
+
constructor(el, renderer, viewContainerRef, table) {
|
|
15
|
+
this.el = el;
|
|
16
|
+
this.renderer = renderer;
|
|
17
|
+
this.viewContainerRef = viewContainerRef;
|
|
18
|
+
this.table = table;
|
|
19
|
+
this.checkedChange = new EventEmitter();
|
|
20
|
+
this._cdr = inject(ChangeDetectorRef);
|
|
21
|
+
this._injector = inject(Injector);
|
|
22
|
+
this._subscriptions = new Subscription();
|
|
23
|
+
// not to do
|
|
24
|
+
}
|
|
25
|
+
renderCheckbox() {
|
|
26
|
+
this.checkboxRef = this.viewContainerRef.createComponent(MonkeyCheckboxComponent, {
|
|
27
|
+
injector: this._injector
|
|
28
|
+
});
|
|
29
|
+
this.checkboxRef.instance.value = this.checked;
|
|
30
|
+
this.checkboxRef.instance.setDisabledState(this.disabled);
|
|
31
|
+
this.checkboxRef.instance.onChange.subscribe((isChecked) => {
|
|
32
|
+
this.checkboxRef.instance.writeValue(isChecked);
|
|
33
|
+
this.checkedChange.emit(isChecked);
|
|
34
|
+
});
|
|
35
|
+
this.renderer.appendChild(this.el.nativeElement, this.checkboxRef.location.nativeElement);
|
|
36
|
+
}
|
|
37
|
+
handleDisableFromStateChanges(disabled) {
|
|
38
|
+
if (disabled) {
|
|
39
|
+
this.el.nativeElement.style.pointerEvents = 'none';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.el.nativeElement.style.pointerEvents = 'all';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ngOnInit() {
|
|
46
|
+
this.el.nativeElement.style.pointerEvents = 'none';
|
|
47
|
+
this._subscriptions.add(this.table?.stateChanges?.subscribe(() => {
|
|
48
|
+
this.handleDisableFromStateChanges(this.table.loading);
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
ngAfterViewInit() {
|
|
52
|
+
this.renderCheckbox();
|
|
53
|
+
}
|
|
54
|
+
ngOnChanges(changes) {
|
|
55
|
+
let hasChanges = false;
|
|
56
|
+
let checked = false;
|
|
57
|
+
let disabled = false;
|
|
58
|
+
const changesChecked = changes?.['checked'];
|
|
59
|
+
const changesDisabled = changes?.['disabled'];
|
|
60
|
+
if (changesChecked?.currentValue !== changesChecked?.previousValue) {
|
|
61
|
+
checked = changesChecked.currentValue || false;
|
|
62
|
+
hasChanges = true;
|
|
63
|
+
}
|
|
64
|
+
if (changesDisabled?.currentValue !== changesDisabled?.previousValue) {
|
|
65
|
+
disabled = changesDisabled.currentValue;
|
|
66
|
+
hasChanges = true;
|
|
67
|
+
}
|
|
68
|
+
if (hasChanges) {
|
|
69
|
+
this.initializeComponent(checked, disabled);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
initializeComponent(checked, disabled) {
|
|
73
|
+
if (!this.checkboxRef || this.disabled)
|
|
74
|
+
return;
|
|
75
|
+
this.checkboxRef.instance.writeValue(checked);
|
|
76
|
+
this.checkboxRef.instance.setDisabledState(disabled);
|
|
77
|
+
this._cdr.detectChanges();
|
|
78
|
+
}
|
|
79
|
+
ngOnDestroy() {
|
|
80
|
+
this._subscriptions.unsubscribe();
|
|
81
|
+
}
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnChecked, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: MonkeyTableComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
83
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyColumnChecked, selector: "[mkChecked]", inputs: { checked: ["mkChecked", "checked"], disabled: "disabled" }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "class.mecx-column-checked-disabled": "this.disabled" }, classAttribute: "mecx-column-checked" }, usesOnChanges: true, ngImport: i0 }); }
|
|
84
|
+
}
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnChecked, decorators: [{
|
|
86
|
+
type: Directive,
|
|
87
|
+
args: [{
|
|
88
|
+
selector: '[mkChecked]',
|
|
89
|
+
host: {
|
|
90
|
+
class: 'mecx-column-checked'
|
|
91
|
+
}
|
|
92
|
+
}]
|
|
93
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i1.MonkeyTableComponent, decorators: [{
|
|
94
|
+
type: Optional
|
|
95
|
+
}, {
|
|
96
|
+
type: Inject,
|
|
97
|
+
args: [MonkeyTableComponent]
|
|
98
|
+
}] }], propDecorators: { checked: [{
|
|
99
|
+
type: Input,
|
|
100
|
+
args: [{ alias: 'mkChecked', required: true }]
|
|
101
|
+
}], disabled: [{
|
|
102
|
+
type: HostBinding,
|
|
103
|
+
args: ['class.mecx-column-checked-disabled']
|
|
104
|
+
}, {
|
|
105
|
+
type: Input
|
|
106
|
+
}], checkedChange: [{
|
|
107
|
+
type: Output
|
|
108
|
+
}] } });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNoZWNrZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS10YWJsZS9kaXJlY3RpdmVzL2NvbHVtbi1jaGVja2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQzs7Ozs2QkFJNkI7QUFFN0IsT0FBTyxFQUVMLGlCQUFpQixFQUVqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBUWhELE1BQU0sT0FBTyxtQkFBbUI7SUFpQjlCLFlBQ1UsRUFBYyxFQUNkLFFBQW1CLEVBQ25CLGdCQUFrQyxFQUNPLEtBQTJCO1FBSHBFLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDTyxVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQWRwRSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWpDLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0IsbUJBQWMsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVV4RCxZQUFZO0lBQ2QsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJ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QUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOytHQTVGVSxtQkFBbUIscUdBcUJSLG9CQUFvQjttR0FyQi9CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxxQkFBcUI7cUJBQzdCO2lCQUNGOzswQkFzQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQkFBb0I7eUNBcEJLLE9BQU87c0JBQXJELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSTdDLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyxvQ0FBb0M7O3NCQUNoRCxLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBkb3Qtbm90YXRpb24gKi9cbi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbmtleS1jaGVja2JveCc7XG5pbXBvcnQgeyBNb25rZXlUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21rQ2hlY2tlZF0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtZWN4LWNvbHVtbi1jaGVja2VkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUNvbHVtbkNoZWNrZWQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KHsgYWxpYXM6ICdta0NoZWNrZWQnLCByZXF1aXJlZDogdHJ1ZSB9KSBjaGVja2VkITogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1lY3gtY29sdW1uLWNoZWNrZWQtZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBkaXNhYmxlZCE6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcml2YXRlIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNoZWNrYm94UmVmITogQ29tcG9uZW50UmVmPE1vbmtleUNoZWNrYm94Q29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNb25rZXlUYWJsZUNvbXBvbmVudCkgcHVibGljIHRhYmxlOiBNb25rZXlUYWJsZUNvbXBvbmVudFxuICApIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQ2hlY2tib3goKSB7XG4gICAgdGhpcy5jaGVja2JveFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoTW9ua2V5Q2hlY2tib3hDb21wb25lbnQsIHtcbiAgICAgIGluamVjdG9yOiB0aGlzLl9pbmplY3RvclxuICAgIH0pO1xuXG4gICAgdGhpcy5jaGVja2JveFJlZi5pbnN0YW5jZS52YWx1ZSA9IHRoaXMuY2hlY2tlZDtcbiAgICB0aGlzLmNoZWNrYm94UmVmLmluc3RhbmNlLnNldERpc2FibGVkU3RhdGUodGhpcy5kaXNhYmxlZCk7XG5cbiAgICB0aGlzLmNoZWNrYm94UmVmLmluc3RhbmNlLm9uQ2hhbmdlLnN1YnNjcmliZSgoaXNDaGVja2VkOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrYm94UmVmLmluc3RhbmNlLndyaXRlVmFsdWUoaXNDaGVja2VkKTtcbiAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KGlzQ2hlY2tlZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5jaGVja2JveFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGlzYWJsZUZyb21TdGF0ZUNoYW5nZXMoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdhbGwnO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy50YWJsZT8uc3RhdGVDaGFuZ2VzPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZURpc2FibGVGcm9tU3RhdGVDaGFuZ2VzKHRoaXMudGFibGUubG9hZGluZyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZW5kZXJDaGVja2JveCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGxldCBoYXNDaGFuZ2VzID0gZmFsc2U7XG4gICAgbGV0IGNoZWNrZWQgPSBmYWxzZTtcbiAgICBsZXQgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBjb25zdCBjaGFuZ2VzQ2hlY2tlZCA9IGNoYW5nZXM/LlsnY2hlY2tlZCddO1xuICAgIGNvbnN0IGNoYW5nZXNEaXNhYmxlZCA9IGNoYW5nZXM/LlsnZGlzYWJsZWQnXTtcbiAgICBpZiAoY2hhbmdlc0NoZWNrZWQ/LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc0NoZWNrZWQ/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIGNoZWNrZWQgPSBjaGFuZ2VzQ2hlY2tlZC5jdXJyZW50VmFsdWUgfHwgZmFsc2U7XG4gICAgICBoYXNDaGFuZ2VzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNEaXNhYmxlZD8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzRGlzYWJsZWQ/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIGRpc2FibGVkID0gY2hhbmdlc0Rpc2FibGVkLmN1cnJlbnRWYWx1ZTtcbiAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChoYXNDaGFuZ2VzKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVDb21wb25lbnQoY2hlY2tlZCwgZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRpYWxpemVDb21wb25lbnQoY2hlY2tlZDogYm9vbGVhbiwgZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tib3hSZWYgfHwgdGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuY2hlY2tib3hSZWYuaW5zdGFuY2Uud3JpdGVWYWx1ZShjaGVja2VkKTtcbiAgICB0aGlzLmNoZWNrYm94UmVmLmluc3RhbmNlLnNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQpO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { Directive, EventEmitter, HostBinding, HostListener, Inject, Optional, Output } from '@angular/core';
|
|
7
|
+
import { Subscription } from 'rxjs';
|
|
8
|
+
import { MonkeyTableComponent } from '../table';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../table";
|
|
11
|
+
export class MonkeyColumnExpansible {
|
|
12
|
+
constructor(el, renderer, table) {
|
|
13
|
+
this.el = el;
|
|
14
|
+
this.renderer = renderer;
|
|
15
|
+
this.table = table;
|
|
16
|
+
this.expansionChange = new EventEmitter();
|
|
17
|
+
this._opened = false;
|
|
18
|
+
this._subscriptions = new Subscription();
|
|
19
|
+
this._enableAnimation = false;
|
|
20
|
+
this.disabled = false;
|
|
21
|
+
// not to do
|
|
22
|
+
}
|
|
23
|
+
createSvgElement(opened) {
|
|
24
|
+
const oldIcon = this.el.nativeElement.querySelector('#expansible-icon');
|
|
25
|
+
if (oldIcon)
|
|
26
|
+
this.renderer.removeChild(this.el.nativeElement, oldIcon);
|
|
27
|
+
this.el.nativeElement.style.cursor = 'pointer';
|
|
28
|
+
const svg = this.renderer.createElement('svg', 'svg');
|
|
29
|
+
this.renderer.setAttribute(svg, 'id', 'expansible-icon');
|
|
30
|
+
this.renderer.setAttribute(svg, 'width', '24');
|
|
31
|
+
this.renderer.setAttribute(svg, 'height', '24');
|
|
32
|
+
this.renderer.setAttribute(svg, 'viewBox', '0 0 24 24');
|
|
33
|
+
this.renderer.setAttribute(svg, 'fill', 'none');
|
|
34
|
+
this.renderer.setAttribute(svg, 'xmlns', 'http://www.w3.org/2000/svg');
|
|
35
|
+
this.renderer.setStyle(svg, 'vertical-align', 'middle');
|
|
36
|
+
this.renderer.setStyle(svg, 'cursor', 'pointer');
|
|
37
|
+
if (opened) {
|
|
38
|
+
const path1 = this.renderer.createElement('path', 'svg');
|
|
39
|
+
const path2 = this.renderer.createElement('path', 'svg');
|
|
40
|
+
this.renderer.setAttribute(path1, 'stroke', 'var(--mecx-color-gray-600)');
|
|
41
|
+
this.renderer.setAttribute(path1, 'stroke-width', '1.5');
|
|
42
|
+
this.renderer.setAttribute(path1, 'stroke-linecap', 'round');
|
|
43
|
+
this.renderer.setAttribute(path1, 'stroke-linejoin', 'round');
|
|
44
|
+
this.renderer.setAttribute(path1, 'd', 'M16 12H8');
|
|
45
|
+
this.renderer.setAttribute(path2, 'fill-rule', 'evenodd');
|
|
46
|
+
this.renderer.setAttribute(path2, 'clip-rule', 'evenodd');
|
|
47
|
+
this.renderer.setAttribute(path2, 'stroke', 'var(--mecx-color-gray-400)');
|
|
48
|
+
this.renderer.setAttribute(path2, 'stroke-width', '1.5');
|
|
49
|
+
this.renderer.setAttribute(path2, 'stroke-linecap', 'round');
|
|
50
|
+
this.renderer.setAttribute(path2, 'stroke-linejoin', 'round');
|
|
51
|
+
this.renderer.setAttribute(path2, 'd', 'M12 21V21C7.029 21 3 16.971 3 12V12C3 7.029 7.029 3 12 3V3C16.971 3 21 7.029 21 12V12C21 16.971 16.971 21 12 21Z');
|
|
52
|
+
this.renderer.appendChild(svg, path1);
|
|
53
|
+
this.renderer.appendChild(svg, path2);
|
|
54
|
+
if (this._enableAnimation) {
|
|
55
|
+
this.renderer.addClass(svg, 'rotate-animation-left');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const path1 = this.renderer.createElement('path', 'svg');
|
|
60
|
+
const path2 = this.renderer.createElement('path', 'svg');
|
|
61
|
+
const path3 = this.renderer.createElement('path', 'svg');
|
|
62
|
+
this.renderer.setAttribute(path1, 'stroke', 'var(--mecx-color-gray-600)');
|
|
63
|
+
this.renderer.setAttribute(path1, 'stroke-width', '1.5');
|
|
64
|
+
this.renderer.setAttribute(path1, 'stroke-linecap', 'round');
|
|
65
|
+
this.renderer.setAttribute(path1, 'stroke-linejoin', 'round');
|
|
66
|
+
this.renderer.setAttribute(path1, 'd', 'M12 8V16');
|
|
67
|
+
this.renderer.setAttribute(path2, 'stroke', 'var(--mecx-color-gray-600)');
|
|
68
|
+
this.renderer.setAttribute(path2, 'stroke-width', '1.5');
|
|
69
|
+
this.renderer.setAttribute(path2, 'stroke-linecap', 'round');
|
|
70
|
+
this.renderer.setAttribute(path2, 'stroke-linejoin', 'round');
|
|
71
|
+
this.renderer.setAttribute(path2, 'd', 'M16 12H8');
|
|
72
|
+
this.renderer.setAttribute(path3, 'fill-rule', 'evenodd');
|
|
73
|
+
this.renderer.setAttribute(path3, 'clip-rule', 'evenodd');
|
|
74
|
+
this.renderer.setAttribute(path3, 'stroke', 'var(--mecx-color-gray-400)');
|
|
75
|
+
this.renderer.setAttribute(path3, 'stroke-width', '2');
|
|
76
|
+
this.renderer.setAttribute(path3, 'stroke-linecap', 'round');
|
|
77
|
+
this.renderer.setAttribute(path3, 'stroke-linejoin', 'round');
|
|
78
|
+
this.renderer.setAttribute(path3, 'd', 'M12 21V21C7.029 21 3 16.971 3 12V12C3 7.029 7.029 3 12 3V3C16.971 3 21 7.029 21 12V12C21 16.971 16.971 21 12 21Z');
|
|
79
|
+
this.renderer.appendChild(svg, path1);
|
|
80
|
+
this.renderer.appendChild(svg, path2);
|
|
81
|
+
this.renderer.appendChild(svg, path3);
|
|
82
|
+
if (this._enableAnimation) {
|
|
83
|
+
this.renderer.addClass(svg, 'rotate-animation-right');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.renderer.appendChild(this.el.nativeElement, svg);
|
|
87
|
+
}
|
|
88
|
+
ngOnInit() {
|
|
89
|
+
this.disabled = this.table.loading;
|
|
90
|
+
this._subscriptions.add(this.table?.stateChanges?.subscribe(() => {
|
|
91
|
+
this.disabled = this.table.loading;
|
|
92
|
+
}));
|
|
93
|
+
this.createSvgElement(this._opened);
|
|
94
|
+
}
|
|
95
|
+
onClick() {
|
|
96
|
+
this._enableAnimation = true;
|
|
97
|
+
if (this._opened) {
|
|
98
|
+
this._opened = false;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this._opened = true;
|
|
102
|
+
}
|
|
103
|
+
this.createSvgElement(this._opened);
|
|
104
|
+
this.expansionChange.emit(this._opened);
|
|
105
|
+
}
|
|
106
|
+
ngOnDestroy() {
|
|
107
|
+
this._subscriptions.unsubscribe();
|
|
108
|
+
}
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnExpansible, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MonkeyTableComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
110
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyColumnExpansible, selector: "[mkExpansible]", outputs: { expansionChange: "expansionChange" }, host: { listeners: { "click": "onClick()" }, properties: { "class.mecx-column-expansible-disabled": "this.disabled" }, classAttribute: "mecx-column-expansible" }, ngImport: i0 }); }
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnExpansible, decorators: [{
|
|
113
|
+
type: Directive,
|
|
114
|
+
args: [{
|
|
115
|
+
selector: '[mkExpansible]',
|
|
116
|
+
host: {
|
|
117
|
+
class: 'mecx-column-expansible'
|
|
118
|
+
}
|
|
119
|
+
}]
|
|
120
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.MonkeyTableComponent, decorators: [{
|
|
121
|
+
type: Optional
|
|
122
|
+
}, {
|
|
123
|
+
type: Inject,
|
|
124
|
+
args: [MonkeyTableComponent]
|
|
125
|
+
}] }], propDecorators: { expansionChange: [{
|
|
126
|
+
type: Output
|
|
127
|
+
}], disabled: [{
|
|
128
|
+
type: HostBinding,
|
|
129
|
+
args: ['class.mecx-column-expansible-disabled']
|
|
130
|
+
}], onClick: [{
|
|
131
|
+
type: HostListener,
|
|
132
|
+
args: ['click']
|
|
133
|
+
}] } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWV4cGFuc2libGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS10YWJsZS9kaXJlY3RpdmVzL2NvbHVtbi1leHBhbnNpYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzZCQUk2QjtBQUU3QixPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFHTixRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFRaEQsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNzQixLQUEyQjtRQUZwRSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNzQixVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQWRwRSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixtQkFBYyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUdqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBT2YsWUFBWTtJQUNkLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hFLElBQUksT0FBTztZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFakQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRW5ELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN4QixLQUFLLEVBQ0wsR0FBRyxFQUNILGtIQUFrSCxDQUNuSCxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUV6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRW5ELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN4QixLQUFLLEVBQ0wsR0FBRyxFQUNILGtIQUFrSCxDQUNuSCxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDeEQsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBR0QsT0FBTztRQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7K0dBaklVLHNCQUFzQixxRUFlWCxvQkFBb0I7bUdBZi9CLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHdCQUF3QjtxQkFDaEM7aUJBQ0Y7OzBCQWdCSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9CQUFvQjt5Q0FkaEMsZUFBZTtzQkFBeEIsTUFBTTtnQkFTUCxRQUFRO3NCQURQLFdBQVc7dUJBQUMsdUNBQXVDO2dCQTBHcEQsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21rRXhwYW5zaWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtZWN4LWNvbHVtbi1leHBhbnNpYmxlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUNvbHVtbkV4cGFuc2libGUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKSBleHBhbnNpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHByaXZhdGUgX2VuYWJsZUFuaW1hdGlvbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWVjeC1jb2x1bW4tZXhwYW5zaWJsZS1kaXNhYmxlZCcpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNb25rZXlUYWJsZUNvbXBvbmVudCkgcHVibGljIHRhYmxlOiBNb25rZXlUYWJsZUNvbXBvbmVudFxuICApIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ZnRWxlbWVudChvcGVuZWQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBvbGRJY29uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNleHBhbnNpYmxlLWljb24nKTtcbiAgICBpZiAob2xkSWNvbikgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIG9sZEljb24pO1xuXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJztcbiAgICBjb25zdCBzdmcgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N2ZycsICdzdmcnKTtcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2ZywgJ2lkJywgJ2V4cGFuc2libGUtaWNvbicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2ZywgJ3dpZHRoJywgJzI0Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoc3ZnLCAnaGVpZ2h0JywgJzI0Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoc3ZnLCAndmlld0JveCcsICcwIDAgMjQgMjQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzdmcsICdmaWxsJywgJ25vbmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzdmcsICd4bWxucycsICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3ZnLCAndmVydGljYWwtYWxpZ24nLCAnbWlkZGxlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzdmcsICdjdXJzb3InLCAncG9pbnRlcicpO1xuXG4gICAgaWYgKG9wZW5lZCkge1xuICAgICAgY29uc3QgcGF0aDEgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3BhdGgnLCAnc3ZnJyk7XG4gICAgICBjb25zdCBwYXRoMiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgncGF0aCcsICdzdmcnKTtcblxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDEsICdzdHJva2UnLCAndmFyKC0tbWVjeC1jb2xvci1ncmF5LTYwMCknKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhdGgxLCAnc3Ryb2tlLXdpZHRoJywgJzEuNScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDEsICdzdHJva2UtbGluZWNhcCcsICdyb3VuZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDEsICdzdHJva2UtbGluZWpvaW4nLCAncm91bmQnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhdGgxLCAnZCcsICdNMTYgMTJIOCcpO1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ2ZpbGwtcnVsZScsICdldmVub2RkJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ2NsaXAtcnVsZScsICdldmVub2RkJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ3N0cm9rZScsICd2YXIoLS1tZWN4LWNvbG9yLWdyYXktNDAwKScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDIsICdzdHJva2Utd2lkdGgnLCAnMS41Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ3N0cm9rZS1saW5lY2FwJywgJ3JvdW5kJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ3N0cm9rZS1saW5lam9pbicsICdyb3VuZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHBhdGgyLFxuICAgICAgICAnZCcsXG4gICAgICAgICdNMTIgMjFWMjFDNy4wMjkgMjEgMyAxNi45NzEgMyAxMlYxMkMzIDcuMDI5IDcuMDI5IDMgMTIgM1YzQzE2Ljk3MSAzIDIxIDcuMDI5IDIxIDEyVjEyQzIxIDE2Ljk3MSAxNi45NzEgMjEgMTIgMjFaJ1xuICAgICAgKTtcblxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzdmcsIHBhdGgxKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3ZnLCBwYXRoMik7XG4gICAgICBpZiAodGhpcy5fZW5hYmxlQW5pbWF0aW9uKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3ZnLCAncm90YXRlLWFuaW1hdGlvbi1sZWZ0Jyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBhdGgxID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdwYXRoJywgJ3N2ZycpO1xuICAgICAgY29uc3QgcGF0aDIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3BhdGgnLCAnc3ZnJyk7XG4gICAgICBjb25zdCBwYXRoMyA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgncGF0aCcsICdzdmcnKTtcblxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDEsICdzdHJva2UnLCAndmFyKC0tbWVjeC1jb2xvci1ncmF5LTYwMCknKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhdGgxLCAnc3Ryb2tlLXdpZHRoJywgJzEuNScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDEsICdzdHJva2UtbGluZWNhcCcsICdyb3VuZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDEsICdzdHJva2UtbGluZWpvaW4nLCAncm91bmQnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhdGgxLCAnZCcsICdNMTIgOFYxNicpO1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ3N0cm9rZScsICd2YXIoLS1tZWN4LWNvbG9yLWdyYXktNjAwKScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDIsICdzdHJva2Utd2lkdGgnLCAnMS41Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ3N0cm9rZS1saW5lY2FwJywgJ3JvdW5kJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMiwgJ3N0cm9rZS1saW5lam9pbicsICdyb3VuZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aDIsICdkJywgJ00xNiAxMkg4Jyk7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhdGgzLCAnZmlsbC1ydWxlJywgJ2V2ZW5vZGQnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhdGgzLCAnY2xpcC1ydWxlJywgJ2V2ZW5vZGQnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhdGgzLCAnc3Ryb2tlJywgJ3ZhcigtLW1lY3gtY29sb3ItZ3JheS00MDApJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMywgJ3N0cm9rZS13aWR0aCcsICcyJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMywgJ3N0cm9rZS1saW5lY2FwJywgJ3JvdW5kJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoMywgJ3N0cm9rZS1saW5lam9pbicsICdyb3VuZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHBhdGgzLFxuICAgICAgICAnZCcsXG4gICAgICAgICdNMTIgMjFWMjFDNy4wMjkgMjEgMyAxNi45NzEgMyAxMlYxMkMzIDcuMDI5IDcuMDI5IDMgMTIgM1YzQzE2Ljk3MSAzIDIxIDcuMDI5IDIxIDEyVjEyQzIxIDE2Ljk3MSAxNi45NzEgMjEgMTIgMjFaJ1xuICAgICAgKTtcblxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzdmcsIHBhdGgxKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3ZnLCBwYXRoMik7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHN2ZywgcGF0aDMpO1xuICAgICAgaWYgKHRoaXMuX2VuYWJsZUFuaW1hdGlvbikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHN2ZywgJ3JvdGF0ZS1hbmltYXRpb24tcmlnaHQnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgc3ZnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLnRhYmxlLmxvYWRpbmc7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnRhYmxlPy5zdGF0ZUNoYW5nZXM/LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLnRhYmxlLmxvYWRpbmc7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmNyZWF0ZVN2Z0VsZW1lbnQodGhpcy5fb3BlbmVkKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICB0aGlzLl9lbmFibGVBbmltYXRpb24gPSB0cnVlO1xuICAgIGlmICh0aGlzLl9vcGVuZWQpIHtcbiAgICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9vcGVuZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuY3JlYXRlU3ZnRWxlbWVudCh0aGlzLl9vcGVuZWQpO1xuICAgIHRoaXMuZXhwYW5zaW9uQ2hhbmdlLmVtaXQodGhpcy5fb3BlbmVkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { Directive, HostBinding, HostListener, Inject, Input, Optional } from '@angular/core';
|
|
7
|
+
import { Subscription } from 'rxjs';
|
|
8
|
+
import { MonkeyTableComponent } from '../table';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../table";
|
|
11
|
+
export class MonkeyColumnSortable {
|
|
12
|
+
constructor(el, renderer, table) {
|
|
13
|
+
this.el = el;
|
|
14
|
+
this.renderer = renderer;
|
|
15
|
+
this.table = table;
|
|
16
|
+
this._sortableDirection = null;
|
|
17
|
+
this.subscriptions = new Subscription();
|
|
18
|
+
this.disabled = false;
|
|
19
|
+
// not to do
|
|
20
|
+
}
|
|
21
|
+
createSvgElement(direction) {
|
|
22
|
+
const dPath = direction === 'desc' ? 'M16 14L12 10L8 14' : 'M8.75 10L12.75 14L16.75 10';
|
|
23
|
+
const oldIcon = this.el.nativeElement.querySelector('#sortable-icon');
|
|
24
|
+
if (oldIcon)
|
|
25
|
+
this.renderer.removeChild(this.el.nativeElement, oldIcon);
|
|
26
|
+
this.el.nativeElement.style.cursor = 'pointer';
|
|
27
|
+
const svg = this.renderer.createElement('svg', 'svg');
|
|
28
|
+
this.renderer.setAttribute(svg, 'id', 'sortable-icon');
|
|
29
|
+
this.renderer.setAttribute(svg, 'width', '25');
|
|
30
|
+
this.renderer.setAttribute(svg, 'height', '24');
|
|
31
|
+
this.renderer.setAttribute(svg, 'viewBox', '0 0 25 24');
|
|
32
|
+
this.renderer.setAttribute(svg, 'fill', 'none');
|
|
33
|
+
this.renderer.setAttribute(svg, 'xmlns', 'http://www.w3.org/2000/svg');
|
|
34
|
+
this.renderer.setStyle(svg, 'margin-left', '1px');
|
|
35
|
+
this.renderer.setStyle(svg, 'vertical-align', 'middle');
|
|
36
|
+
this.renderer.setStyle(svg, 'cursor', 'pointer');
|
|
37
|
+
const g = this.renderer.createElement('g', 'svg');
|
|
38
|
+
const path = this.renderer.createElement('path', 'svg');
|
|
39
|
+
this.renderer.setAttribute(path, 'stroke', '#000');
|
|
40
|
+
this.renderer.setAttribute(path, 'stroke-width', '1.5');
|
|
41
|
+
this.renderer.setAttribute(path, 'stroke-linecap', 'round');
|
|
42
|
+
this.renderer.setAttribute(path, 'stroke-linejoin', 'round');
|
|
43
|
+
this.renderer.setAttribute(path, 'd', dPath);
|
|
44
|
+
this.renderer.appendChild(g, path);
|
|
45
|
+
this.renderer.appendChild(svg, g);
|
|
46
|
+
this.renderer.appendChild(this.el.nativeElement, svg);
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
this.disabled = this.table.loading;
|
|
50
|
+
this.subscriptions.add(this.table?.stateChanges?.subscribe(() => {
|
|
51
|
+
this.disabled = this.table.loading;
|
|
52
|
+
}));
|
|
53
|
+
this.createSvgElement(this._sortableDirection);
|
|
54
|
+
}
|
|
55
|
+
onClick() {
|
|
56
|
+
if (this._sortableDirection === null) {
|
|
57
|
+
this._sortableDirection = 'asc';
|
|
58
|
+
}
|
|
59
|
+
else if (this._sortableDirection === 'asc') {
|
|
60
|
+
this._sortableDirection = 'desc';
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this._sortableDirection = null;
|
|
64
|
+
}
|
|
65
|
+
this.createSvgElement(this._sortableDirection);
|
|
66
|
+
this.table?.updateSortableOptions(this.name, this._sortableDirection || '');
|
|
67
|
+
}
|
|
68
|
+
ngOnDestroy() {
|
|
69
|
+
this.subscriptions.unsubscribe();
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnSortable, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MonkeyTableComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
72
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyColumnSortable, selector: "[mkSortable]", inputs: { name: ["mkSortable", "name"] }, host: { listeners: { "click": "onClick()" }, properties: { "class.mecx-column-sortable-disabled": "this.disabled" }, classAttribute: "mecx-column-sortable" }, ngImport: i0 }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnSortable, decorators: [{
|
|
75
|
+
type: Directive,
|
|
76
|
+
args: [{
|
|
77
|
+
selector: '[mkSortable]',
|
|
78
|
+
host: {
|
|
79
|
+
class: 'mecx-column-sortable'
|
|
80
|
+
}
|
|
81
|
+
}]
|
|
82
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.MonkeyTableComponent, decorators: [{
|
|
83
|
+
type: Optional
|
|
84
|
+
}, {
|
|
85
|
+
type: Inject,
|
|
86
|
+
args: [MonkeyTableComponent]
|
|
87
|
+
}] }], propDecorators: { name: [{
|
|
88
|
+
type: Input,
|
|
89
|
+
args: [{ alias: 'mkSortable', required: true }]
|
|
90
|
+
}], disabled: [{
|
|
91
|
+
type: HostBinding,
|
|
92
|
+
args: ['class.mecx-column-sortable-disabled']
|
|
93
|
+
}], onClick: [{
|
|
94
|
+
type: HostListener,
|
|
95
|
+
args: ['click']
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNvcnRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktdGFibGUvZGlyZWN0aXZlcy9jb2x1bW4tc29ydGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBUWhELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxFQUFjLEVBQ2QsUUFBbUIsRUFDc0IsS0FBMkI7UUFGcEUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDc0IsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFWdEUsdUJBQWtCLEdBQTBCLElBQUksQ0FBQztRQUVqRCxrQkFBYSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3pELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPZixZQUFZO0lBQ2QsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFNBQWdDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLFNBQVMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztRQUV4RixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RSxJQUFJLE9BQU87WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMs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KioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21rU29ydGFibGVdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWVjeC1jb2x1bW4tc29ydGFibGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5Q29sdW1uU29ydGFibGUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCh7IGFsaWFzOiAnbWtTb3J0YWJsZScsIHJlcXVpcmVkOiB0cnVlIH0pIG5hbWUhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfc29ydGFibGVEaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tZWN4LWNvbHVtbi1zb3J0YWJsZS1kaXNhYmxlZCcpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNb25rZXlUYWJsZUNvbXBvbmVudCkgcHVibGljIHRhYmxlOiBNb25rZXlUYWJsZUNvbXBvbmVudFxuICApIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ZnRWxlbWVudChkaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCkge1xuICAgIGNvbnN0IGRQYXRoID0gZGlyZWN0aW9uID09PSAnZGVzYycgPyAnTTE2IDE0TDEyIDEwTDggMTQnIDogJ004Ljc1IDEwTDEyLjc1IDE0TDE2Ljc1IDEwJztcblxuICAgIGNvbnN0IG9sZEljb24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI3NvcnRhYmxlLWljb24nKTtcbiAgICBpZiAob2xkSWNvbikgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIG9sZEljb24pO1xuXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJztcbiAgICBjb25zdCBzdmcgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N2ZycsICdzdmcnKTtcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2ZywgJ2lkJywgJ3NvcnRhYmxlLWljb24nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzdmcsICd3aWR0aCcsICcyNScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2ZywgJ2hlaWdodCcsICcyNCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2ZywgJ3ZpZXdCb3gnLCAnMCAwIDI1IDI0Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoc3ZnLCAnZmlsbCcsICdub25lJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoc3ZnLCAneG1sbnMnLCAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN2ZywgJ21hcmdpbi1sZWZ0JywgJzFweCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3ZnLCAndmVydGljYWwtYWxpZ24nLCAnbWlkZGxlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzdmcsICdjdXJzb3InLCAncG9pbnRlcicpO1xuXG4gICAgY29uc3QgZyA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZycsICdzdmcnKTtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdwYXRoJywgJ3N2ZycpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aCwgJ3N0cm9rZScsICcjMDAwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aCwgJ3N0cm9rZS13aWR0aCcsICcxLjUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoLCAnc3Ryb2tlLWxpbmVjYXAnLCAncm91bmQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXRoLCAnc3Ryb2tlLWxpbmVqb2luJywgJ3JvdW5kJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGF0aCwgJ2QnLCBkUGF0aCk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGcsIHBhdGgpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3ZnLCBnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgc3ZnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLnRhYmxlLmxvYWRpbmc7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMudGFibGU/LnN0YXRlQ2hhbmdlcz8uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMudGFibGUubG9hZGluZztcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuY3JlYXRlU3ZnRWxlbWVudCh0aGlzLl9zb3J0YWJsZURpcmVjdGlvbik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuX3NvcnRhYmxlRGlyZWN0aW9uID09PSBudWxsKSB7XG4gICAgICB0aGlzLl9zb3J0YWJsZURpcmVjdGlvbiA9ICdhc2MnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc29ydGFibGVEaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICB0aGlzLl9zb3J0YWJsZURpcmVjdGlvbiA9ICdkZXNjJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc29ydGFibGVEaXJlY3Rpb24gPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuY3JlYXRlU3ZnRWxlbWVudCh0aGlzLl9zb3J0YWJsZURpcmVjdGlvbik7XG4gICAgdGhpcy50YWJsZT8udXBkYXRlU29ydGFibGVPcHRpb25zKHRoaXMubmFtZSwgdGhpcy5fc29ydGFibGVEaXJlY3Rpb24gfHwgJycpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { Directive, Input } from '@angular/core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class MonkeyColumnStick {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.position = 'right';
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnStick, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyColumnStick, selector: "[mkStick]", inputs: { position: ["mkStick", "position"] }, host: { properties: { "class": "\"mecx-column-stick-\"+position" }, classAttribute: "mecx-column-stick" }, ngImport: i0 }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyColumnStick, decorators: [{
|
|
16
|
+
type: Directive,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: '[mkStick]',
|
|
19
|
+
host: {
|
|
20
|
+
class: 'mecx-column-stick',
|
|
21
|
+
'[class]': '"mecx-column-stick-"+position'
|
|
22
|
+
}
|
|
23
|
+
}]
|
|
24
|
+
}], propDecorators: { position: [{
|
|
25
|
+
type: Input,
|
|
26
|
+
args: [{ alias: 'mkStick', required: true }]
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXN0aWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktdGFibGUvZGlyZWN0aXZlcy9jb2x1bW4tc3RpY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVNqRCxNQUFNLE9BQU8saUJBQWlCO0lBUDlCO1FBUStDLGFBQVEsR0FBcUIsT0FBTyxDQUFDO0tBQ25GOytHQUZZLGlCQUFpQjttR0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQVA3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLG1CQUFtQjt3QkFDMUIsU0FBUyxFQUFFLCtCQUErQjtxQkFDM0M7aUJBQ0Y7OEJBRThDLFFBQVE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tta1N0aWNrXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21lY3gtY29sdW1uLXN0aWNrJyxcbiAgICAnW2NsYXNzXSc6ICdcIm1lY3gtY29sdW1uLXN0aWNrLVwiK3Bvc2l0aW9uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUNvbHVtblN0aWNrIHtcbiAgQElucHV0KHsgYWxpYXM6ICdta1N0aWNrJywgcmVxdWlyZWQ6IHRydWUgfSkgcG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './components/pagination-action/pagination-action';
|
|
2
|
+
export * from './components/pagination-label/pagination-label';
|
|
3
|
+
export * from './components/pagination-size/pagination-size';
|
|
4
|
+
export * from './directives/column-checked';
|
|
5
|
+
export * from './directives/column-expansible';
|
|
6
|
+
export * from './directives/column-sortable';
|
|
7
|
+
export * from './directives/column-stick';
|
|
8
|
+
export * from './table';
|
|
9
|
+
export * from './table.module';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS10YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1hY3Rpb24vcGFnaW5hdGlvbi1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24tbGFiZWwvcGFnaW5hdGlvbi1sYWJlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1zaXplL3BhZ2luYXRpb24tc2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvY29sdW1uLWNoZWNrZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2NvbHVtbi1leHBhbnNpYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9jb2x1bW4tc29ydGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2NvbHVtbi1zdGljayc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUubW9kdWxlJztcbiJdfQ==
|