@magic-xpa/angular 4.1100.0-dev4110.25 → 4.1100.0-dev4110.252
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 → esm2022}/index.mjs +59 -59
- package/{esm2020 → esm2022}/magic-xpa-angular.mjs +1 -1
- package/esm2022/src/controls.metadata.model.mjs +183 -0
- package/{esm2020 → esm2022}/src/interfaces/sub-form-definition.iterface.mjs +1 -1
- package/{esm2020 → esm2022}/src/magic.core.module.mjs +159 -160
- package/{esm2020 → esm2022}/src/services/ISubformMagicService.mjs +1 -1
- package/esm2022/src/services/OverlayWindowService.mjs +244 -0
- package/esm2022/src/services/StylesMapManager.mjs +28 -0
- package/esm2022/src/services/accessor.magic.service.mjs +358 -0
- package/esm2022/src/services/commands-collector.magic.service.mjs +47 -0
- package/esm2022/src/services/component-list.magic.service.mjs +45 -0
- package/{esm2020 → esm2022}/src/services/confirmation.components.magic.provider.mjs +21 -21
- package/esm2022/src/services/engine.magic.service.mjs +80 -0
- package/{esm2020 → esm2022}/src/services/exit.magic.service.mjs +13 -13
- package/esm2022/src/services/magic-color.service.mjs +101 -0
- package/{esm2020 → esm2022}/src/services/magic.lazy.loader.service.mjs +16 -16
- package/{esm2020 → esm2022}/src/services/magic.providers.mjs +24 -24
- package/esm2022/src/services/magic.services.mjs +36 -0
- package/esm2022/src/services/mg-date-adapter.mjs +108 -0
- package/{esm2020 → esm2022}/src/services/overlay.conainer.magic.provider.mjs +14 -14
- package/esm2022/src/services/router-commands.magic.service.mjs +31 -0
- package/esm2022/src/services/subform.magic.service.mjs +194 -0
- package/esm2022/src/services/table.magic.service.mjs +81 -0
- package/esm2022/src/services/task.magics.service.mjs +637 -0
- package/esm2022/src/services/title.magic.service.mjs +19 -0
- package/esm2022/src/ui/GuiInteractiveExecutor.mjs +109 -0
- package/esm2022/src/ui/components/base-magic-alert.component.mjs +24 -0
- package/esm2022/src/ui/components/base-magic-confirm.component.mjs +24 -0
- package/esm2022/src/ui/components/magic-alert.component.mjs +36 -0
- package/esm2022/src/ui/components/magic-confirmation-box.component.mjs +42 -0
- package/esm2022/src/ui/directives/NonMagicControlDirective.mjs +58 -0
- package/esm2022/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +29 -0
- package/esm2022/src/ui/directives/magic/checkbox.magic.directive.mjs +29 -0
- package/esm2022/src/ui/directives/magic/combobox.magic.directive.mjs +37 -0
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +27 -0
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +85 -0
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +32 -0
- package/esm2022/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +28 -0
- package/esm2022/src/ui/directives/magic/nocontrol.magic.directive.mjs +193 -0
- package/esm2022/src/ui/directives/magic/row.magic.directive.mjs +62 -0
- package/esm2022/src/ui/directives/magic-focus.directive.mjs +20 -0
- package/esm2022/src/ui/directives/magic.directive.mjs +229 -0
- package/esm2022/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
- package/esm2022/src/ui/directives/mgformat.magic.directive.mjs +579 -0
- package/esm2022/src/ui/directives/range-validator.magic.directive.mjs +60 -0
- package/{esm2020 → esm2022}/src/ui/magic-confirmationBox.mjs +42 -42
- package/{esm2020 → esm2022}/src/ui/magic-modal/base-magic-overlay-container.mjs +22 -22
- package/esm2022/src/ui/magic-modal/magic-modal-form.mjs +6 -0
- package/{esm2020 → esm2022}/src/ui/magic-modal/magic-modal-interface.mjs +1 -1
- package/esm2022/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +124 -0
- package/esm2022/src/ui/magic-modal/magic-overlay-container.mjs +162 -0
- package/esm2022/src/ui/magic-root.component.mjs +236 -0
- package/esm2022/src/ui/mgerror.magic.component.mjs +125 -0
- package/esm2022/src/ui/pipes/date.magic.pipe.mjs +106 -0
- package/esm2022/src/ui/pipes/time.magic.pipe.mjs +52 -0
- package/esm2022/src/ui/pipes/time24.magic.pipe.mjs +35 -0
- package/esm2022/src/ui/router-container.magic.component.mjs +115 -0
- package/{esm2020 → esm2022}/src/ui/subform.magic.component.mjs +50 -46
- package/esm2022/src/ui/task-base.magic.component.mjs +91 -0
- package/esm2022/src/ui/utils.mjs +54 -0
- package/{fesm2020 → fesm2022}/magic-xpa-angular.mjs +4827 -4444
- package/fesm2022/magic-xpa-angular.mjs.map +1 -0
- package/index.d.ts +58 -58
- package/package.json +10 -16
- package/src/controls.metadata.model.d.ts +62 -62
- package/src/interfaces/sub-form-definition.iterface.d.ts +12 -12
- package/src/magic.core.module.d.ts +41 -41
- package/src/services/ISubformMagicService.d.ts +4 -4
- package/src/services/OverlayWindowService.d.ts +30 -25
- package/src/services/StylesMapManager.d.ts +5 -5
- package/src/services/accessor.magic.service.d.ts +69 -69
- package/src/services/commands-collector.magic.service.d.ts +15 -15
- package/src/services/component-list.magic.service.d.ts +23 -23
- package/src/services/confirmation.components.magic.provider.d.ts +8 -8
- package/src/services/engine.magic.service.d.ts +27 -27
- package/src/services/exit.magic.service.d.ts +6 -6
- package/src/services/magic-color.service.d.ts +19 -19
- package/src/services/magic.lazy.loader.service.d.ts +6 -6
- package/src/services/magic.providers.d.ts +107 -107
- package/src/services/magic.services.d.ts +16 -16
- package/src/services/mg-date-adapter.d.ts +38 -40
- package/src/services/overlay.conainer.magic.provider.d.ts +7 -7
- package/src/services/router-commands.magic.service.d.ts +17 -17
- package/src/services/subform.magic.service.d.ts +43 -43
- package/src/services/table.magic.service.d.ts +30 -30
- package/src/services/task.magics.service.d.ts +100 -100
- package/src/services/title.magic.service.d.ts +9 -9
- package/src/ui/GuiInteractiveExecutor.d.ts +22 -21
- package/src/ui/components/base-magic-alert.component.d.ts +10 -10
- package/src/ui/components/base-magic-confirm.component.d.ts +10 -10
- package/src/ui/components/magic-alert.component.d.ts +6 -6
- package/src/ui/components/magic-confirmation-box.component.d.ts +6 -6
- package/src/ui/directives/NonMagicControlDirective.d.ts +26 -26
- package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +9 -9
- package/src/ui/directives/magic/checkbox.magic.directive.d.ts +9 -9
- package/src/ui/directives/magic/combobox.magic.directive.d.ts +10 -10
- package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +7 -7
- package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +23 -17
- package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +7 -7
- package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +9 -9
- package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +18 -18
- package/src/ui/directives/magic/row.magic.directive.d.ts +17 -17
- package/src/ui/directives/magic-focus.directive.d.ts +9 -9
- package/src/ui/directives/magic.directive.d.ts +44 -44
- package/src/ui/directives/magicViewContainerRef.directive.d.ts +8 -8
- package/src/ui/directives/mgformat.magic.directive.d.ts +38 -31
- package/src/ui/directives/range-validator.magic.directive.d.ts +17 -17
- package/src/ui/magic-confirmationBox.d.ts +6 -6
- package/src/ui/magic-modal/base-magic-overlay-container.d.ts +5 -5
- package/src/ui/magic-modal/magic-modal-form.d.ts +5 -5
- package/src/ui/magic-modal/magic-modal-interface.d.ts +10 -10
- package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +30 -31
- package/src/ui/magic-modal/magic-overlay-container.d.ts +24 -25
- package/src/ui/magic-root.component.d.ts +43 -40
- package/src/ui/mgerror.magic.component.d.ts +20 -20
- package/src/ui/pipes/date.magic.pipe.d.ts +17 -17
- package/src/ui/pipes/time.magic.pipe.d.ts +11 -11
- package/src/ui/pipes/time24.magic.pipe.d.ts +10 -10
- package/src/ui/router-container.magic.component.d.ts +29 -30
- package/src/ui/subform.magic.component.d.ts +16 -16
- package/src/ui/task-base.magic.component.d.ts +34 -34
- package/src/ui/utils.d.ts +9 -9
- package/esm2020/src/controls.metadata.model.mjs +0 -180
- package/esm2020/src/services/OverlayWindowService.mjs +0 -208
- package/esm2020/src/services/StylesMapManager.mjs +0 -28
- package/esm2020/src/services/accessor.magic.service.mjs +0 -356
- package/esm2020/src/services/commands-collector.magic.service.mjs +0 -46
- package/esm2020/src/services/component-list.magic.service.mjs +0 -46
- package/esm2020/src/services/engine.magic.service.mjs +0 -82
- package/esm2020/src/services/magic-color.service.mjs +0 -99
- package/esm2020/src/services/magic.services.mjs +0 -31
- package/esm2020/src/services/mg-date-adapter.mjs +0 -109
- package/esm2020/src/services/router-commands.magic.service.mjs +0 -28
- package/esm2020/src/services/subform.magic.service.mjs +0 -184
- package/esm2020/src/services/table.magic.service.mjs +0 -77
- package/esm2020/src/services/task.magics.service.mjs +0 -624
- package/esm2020/src/services/title.magic.service.mjs +0 -18
- package/esm2020/src/ui/GuiInteractiveExecutor.mjs +0 -98
- package/esm2020/src/ui/components/base-magic-alert.component.mjs +0 -23
- package/esm2020/src/ui/components/base-magic-confirm.component.mjs +0 -23
- package/esm2020/src/ui/components/magic-alert.component.mjs +0 -35
- package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +0 -41
- package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +0 -49
- package/esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +0 -28
- package/esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs +0 -28
- package/esm2020/src/ui/directives/magic/combobox.magic.directive.mjs +0 -36
- package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +0 -27
- package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +0 -52
- package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +0 -32
- package/esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +0 -27
- package/esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs +0 -193
- package/esm2020/src/ui/directives/magic/row.magic.directive.mjs +0 -58
- package/esm2020/src/ui/directives/magic-focus.directive.mjs +0 -19
- package/esm2020/src/ui/directives/magic.directive.mjs +0 -215
- package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +0 -19
- package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +0 -408
- package/esm2020/src/ui/directives/range-validator.magic.directive.mjs +0 -58
- package/esm2020/src/ui/magic-modal/magic-modal-form.mjs +0 -8
- package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -121
- package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +0 -159
- package/esm2020/src/ui/magic-root.component.mjs +0 -203
- package/esm2020/src/ui/mgerror.magic.component.mjs +0 -119
- package/esm2020/src/ui/pipes/date.magic.pipe.mjs +0 -105
- package/esm2020/src/ui/pipes/time.magic.pipe.mjs +0 -51
- package/esm2020/src/ui/pipes/time24.magic.pipe.mjs +0 -34
- package/esm2020/src/ui/router-container.magic.component.mjs +0 -108
- package/esm2020/src/ui/task-base.magic.component.mjs +0 -86
- package/esm2020/src/ui/utils.mjs +0 -54
- package/fesm2015/magic-xpa-angular.mjs +0 -4832
- package/fesm2015/magic-xpa-angular.mjs.map +0 -1
- package/fesm2020/magic-xpa-angular.mjs.map +0 -1
package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
import { Directive, ElementRef, forwardRef, HostListener, Renderer2 } from "@angular/core";
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
3
|
+
import { MagicDirective } from "../../../magic.directive";
|
4
|
+
import { TaskMagicService } from "../../../../../services/task.magics.service";
|
5
|
+
import { Environment, LastFocusedManager } from "@magic-xpa/engine";
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../../../magic.directive";
|
8
|
+
import * as i2 from "../../../../../services/task.magics.service";
|
9
|
+
export const DATE_VALUE_ACCESSOR = {
|
10
|
+
provide: NG_VALUE_ACCESSOR,
|
11
|
+
useExisting: forwardRef(() => DateValueAccessor),
|
12
|
+
multi: true
|
13
|
+
};
|
14
|
+
export class DateValueAccessor {
|
15
|
+
renderer;
|
16
|
+
elementRef;
|
17
|
+
magicDir;
|
18
|
+
_task;
|
19
|
+
onChange = (_) => { };
|
20
|
+
onTouched = () => { };
|
21
|
+
onBlurEvent(event) {
|
22
|
+
const century = Environment.Instance.GetCentury(LastFocusedManager.Instance.getCurrTask().getCompIdx());
|
23
|
+
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
24
|
+
this.formatDateWithCentury(event.target.value, century, control);
|
25
|
+
}
|
26
|
+
constructor(renderer, elementRef, magicDir, _task) {
|
27
|
+
this.renderer = renderer;
|
28
|
+
this.elementRef = elementRef;
|
29
|
+
this.magicDir = magicDir;
|
30
|
+
this._task = _task;
|
31
|
+
}
|
32
|
+
formatDateWithCentury(userInput, century, control) {
|
33
|
+
const separator = userInput.includes('/') ? '/' : "-";
|
34
|
+
let centuryVal = parseInt(century.toString().slice(0, 2));
|
35
|
+
if (userInput.length == 0)
|
36
|
+
return;
|
37
|
+
const dateArray = userInput.split(separator);
|
38
|
+
const day = Number(dateArray[2]);
|
39
|
+
const month = Number(dateArray[1]);
|
40
|
+
const year = Number(dateArray[0]);
|
41
|
+
let updatedYear = year.toString().length === 2 ? (year < century % 100 ? centuryVal + 1 : centuryVal) + '' + year :
|
42
|
+
year.toString().length === 1 ? (year < century % 100 ? centuryVal + 1 : centuryVal) + '0' + year :
|
43
|
+
year;
|
44
|
+
control.setValue(new Date(`${updatedYear}${separator}${month}${separator}${day}`));
|
45
|
+
}
|
46
|
+
writeValue(value) {
|
47
|
+
if (!value) {
|
48
|
+
this.renderer.setProperty(this.elementRef.nativeElement, "value", null);
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
this.renderer.setProperty(this.elementRef.nativeElement, "valueAsDate", new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate())));
|
52
|
+
}
|
53
|
+
registerOnChange(fn) {
|
54
|
+
this.onChange = v => fn(v instanceof Date
|
55
|
+
? new Date(v.getUTCFullYear(), v.getUTCMonth(), v.getUTCDate())
|
56
|
+
: v);
|
57
|
+
}
|
58
|
+
registerOnTouched(fn) {
|
59
|
+
this.onTouched = fn;
|
60
|
+
}
|
61
|
+
setDisabledState(isDisabled) {
|
62
|
+
this.renderer.setProperty(this.elementRef.nativeElement, "disabled", isDisabled);
|
63
|
+
}
|
64
|
+
static ɵfac = function DateValueAccessor_Factory(t) { return new (t || DateValueAccessor)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.MagicDirective), i0.ɵɵdirectiveInject(i2.TaskMagicService)); };
|
65
|
+
static ɵdir = i0.ɵɵdefineDirective({ type: DateValueAccessor, selectors: [["", "dateInput", ""]], hostBindings: function DateValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {
|
66
|
+
i0.ɵɵlistener("input", function DateValueAccessor_input_HostBindingHandler($event) { return ctx.onChange($event.target.valueAsDate); })("blur", function DateValueAccessor_blur_HostBindingHandler($event) { return ctx.onBlurEvent($event); });
|
67
|
+
} }, features: [i0.ɵɵProvidersFeature([DATE_VALUE_ACCESSOR])] });
|
68
|
+
}
|
69
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DateValueAccessor, [{
|
70
|
+
type: Directive,
|
71
|
+
args: [{
|
72
|
+
selector: "[dateInput]",
|
73
|
+
providers: [DATE_VALUE_ACCESSOR]
|
74
|
+
}]
|
75
|
+
}], () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.MagicDirective }, { type: i2.TaskMagicService }], { onChange: [{
|
76
|
+
type: HostListener,
|
77
|
+
args: ["input", ["$event.target.valueAsDate"]]
|
78
|
+
}], onTouched: [{
|
79
|
+
type: HostListener,
|
80
|
+
args: ["blur", []]
|
81
|
+
}], onBlurEvent: [{
|
82
|
+
type: HostListener,
|
83
|
+
args: ['blur', ['$event']]
|
84
|
+
}] }); })();
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jdmEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RhdGUuY3ZhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxXQUFXLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUVsRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBUTtJQUN0QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBY0YsTUFBTSxPQUFPLGlCQUFpQjtJQWNSO0lBQTZCO0lBQzNCO0lBQ0E7SUFkdEIsUUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFMUIsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUdkLFdBQVcsQ0FBQyxLQUFLO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxD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RUFBb0I7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUNsQixFQUFFLENBQ0EsQ0FBQyxZQUFZLElBQUk7WUFDZixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUMsQ0FDTixDQUFDO0lBQ04sQ0FBQztJQUdELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUdELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQzsyRUEzRVUsaUJBQWlCOytDQUFqQixpQkFBaUI7WUFBakIsNEZBQUEsdUNBQW1DLElBQWxCLDZFQUFqQix1QkFBbUIsSUFBRjs4Q0FGakIsQ0FBQyxtQkFBbUIsQ0FBQzs7aUZBRXJCLGlCQUFpQjtjQUo3QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ2pDOytIQUdDLFFBQVE7a0JBRFAsWUFBWTttQkFBQyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUdwRCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsTUFBTSxFQUFFLEVBQUU7WUFJakIsV0FBVztrQkFEakIsWUFBWTttQkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFJlbmRlcmVyMlxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vLi4vbWFnaWMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFbnZpcm9ubWVudCwgTGFzdEZvY3VzZWRNYW5hZ2VyfSBmcm9tIFwiQG1hZ2ljLXhwYS9lbmdpbmVcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBEQVRFX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVZhbHVlQWNjZXNzb3IpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG4vKipcclxuICogVGhlIGFjY2Vzc29yIGZvciB3cml0aW5nIGEgdmFsdWUgYW5kIGxpc3RlbmluZyB0byBjaGFuZ2VzIG9uIGEgZGF0ZSBpbnB1dCBlbGVtZW50XHJcbiAqXHJcbiAqICAjIyMgRXhhbXBsZVxyXG4gKiAgYDxpbnB1dCB0eXBlPVwiZGF0ZVwiIG5hbWU9XCJiaXJ0aGRheVwiIG5nTW9kZWwgZGF0ZUlucHV0PmBcclxuICogIE9SXHJcbiAqICBgPGlucHV0IHR5cGU9XCJkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiYmlydGhkYXlcIiBkYXRlSW5wdXQ+YFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW2RhdGVJbnB1dF1cIixcclxuICBwcm92aWRlcnM6IFtEQVRFX1ZBTFVFX0FDQ0VTU09SXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVZhbHVlQWNjZXNzb3IgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQEhvc3RMaXN0ZW5lcihcImlucHV0XCIsIFtcIiRldmVudC50YXJnZXQudmFsdWVBc0RhdGVcIl0pXHJcbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcclxuICBASG9zdExpc3RlbmVyKFwiYmx1clwiLCBbXSlcclxuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uQmx1ckV2ZW50KGV2ZW50KSB7XHJcbiAgICBjb25zdCBjZW50dXJ5ID0gRW52aXJvbm1lbnQuSW5zdGFuY2UuR2V0Q2VudHVyeShMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuZ2V0Q3VyclRhc2soKS5nZXRDb21wSWR4KCkpO1xyXG4gICAgbGV0IGNvbnRyb2wgPSB0aGlzLl90YXNrLmdldEZvcm1Db250cm9sKHRoaXMubWFnaWNEaXIucm93SWQsIHRoaXMubWFnaWNEaXIuaWQpO1xyXG5cclxuICAgIHRoaXMuZm9ybWF0RGF0ZVdpdGhDZW50dXJ5KGV2ZW50LnRhcmdldC52YWx1ZSwgY2VudHVyeSwgY29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgbWFnaWNEaXI6IE1hZ2ljRGlyZWN0aXZlICxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2s6IFRhc2tNYWdpY1NlcnZpY2UpIHt9XHJcblxyXG5cclxuICAvKiogRm9ybWF0IHllYXIsIGlmIHVzZXIgZW50ZXJzIDIgZGlnaXRzIGluc3RlYWQgb2YgNCBkaWdpdHMgYXMgcGVyIHRoZSBjZW50dXJ5IGdpdmVuIGluIE1hZ2ljLmluaSBmaWxlICovXHJcbiAgZm9ybWF0RGF0ZVdpdGhDZW50dXJ5KHVzZXJJbnB1dDpzdHJpbmcsIGNlbnR1cnk6bnVtYmVyLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpe1xyXG4gICAgY29uc3Qgc2VwYXJhdG9yID0gdXNlcklucHV0LmluY2x1ZGVzKCcvJyk/Jy8nOlwiLVwiO1xyXG4gICAgbGV0IGNlbnR1cnlWYWwgPSBwYXJzZUludChjZW50dXJ5LnRvU3RyaW5nKCkuc2xpY2UoMCwgMikpO1xyXG4gICAgaWYodXNlcklucHV0Lmxlbmd0aCA9PSAwKVxyXG4gICAgICByZXR1cm4gO1xyXG5cclxuICAgIGNvbnN0IGRhdGVBcnJheTogc3RyaW5nW10gPSB1c2VySW5wdXQuc3BsaXQoc2VwYXJhdG9yKTtcclxuICAgIGNvbnN0IGRheSA9IE51bWJlcihkYXRlQXJyYXlbMl0pO1xyXG4gICAgY29uc3QgbW9udGggPSBOdW1iZXIoZGF0ZUFycmF5WzFdKTtcclxuICAgIGNvbnN0IHllYXIgPSBOdW1iZXIoZGF0ZUFycmF5WzBdKTtcclxuXHJcbiAgICBsZXQgdXBkYXRlZFllYXIgPSB5ZWFyLnRvU3RyaW5nKCkubGVuZ3RoID09PSAyID8gKHllYXIgPCBjZW50dXJ5ICUgMTAwID8gY2VudHVyeVZhbCArIDEgOiBjZW50dXJ5VmFsKSArICcnICsgeWVhciA6XHJcbiAgICAgIHllYXIudG9TdHJpbmcoKS5sZW5ndGggPT09IDEgPyAoeWVhciA8IGNlbnR1cnkgJSAxMDAgPyBjZW50dXJ5VmFsICsgMSA6IGNlbnR1cnlWYWwpICsgJzAnICsgeWVhciA6XHJcbiAgICAgICAgeWVhcjtcclxuXHJcbiAgICBjb250cm9sLnNldFZhbHVlKG5ldyBEYXRlKGAke3VwZGF0ZWRZZWFyfSR7c2VwYXJhdG9yfSR7bW9udGh9JHtzZXBhcmF0b3J9JHtkYXl9YCkpXHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqIFdyaXRlcyBhIG5ldyB2YWx1ZSB0byB0aGUgZWxlbWVudCAobW9kZWwgLT4gdmlldykgKi9cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlKTogdm9pZCB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwidmFsdWVcIiwgbnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KFxyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgXCJ2YWx1ZUFzRGF0ZVwiLFxyXG4gICAgICBuZXcgRGF0ZShEYXRlLlVUQyh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCB2YWx1ZS5nZXREYXRlKCkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiwgY2FsbGVkIHdoZW4gdmFsdWUgY2hhbmdlcyAodmlldyAtPiBtb2RlbCkgKi9cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gdiA9PlxyXG4gICAgICBmbihcclxuICAgICAgICB2IGluc3RhbmNlb2YgRGF0ZVxyXG4gICAgICAgICAgPyBuZXcgRGF0ZSh2LmdldFVUQ0Z1bGxZZWFyKCksIHYuZ2V0VVRDTW9udGgoKSwgdi5nZXRVVENEYXRlKCkpXHJcbiAgICAgICAgICA6IHZcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiwgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgaXMgYmx1cnJlZCAqL1xyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyoqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGVsZW1lbnQgd2hlbiB0aGUgY29udHJvbCBzdGF0dXMgY2hhbmdlcyAqL1xyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShcclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIFwiZGlzYWJsZWRcIixcclxuICAgICAgaXNEaXNhYmxlZFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { Directive, forwardRef } from '@angular/core';
|
2
|
+
import { DefaultValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export const MAGIC_DEFAULT_VALUE_ACCESSOR = {
|
5
|
+
provide: NG_VALUE_ACCESSOR,
|
6
|
+
useExisting: forwardRef(() => MagicDefaultValueAccessor),
|
7
|
+
multi: true
|
8
|
+
};
|
9
|
+
export class MagicDefaultValueAccessor extends DefaultValueAccessor {
|
10
|
+
static ɵfac = (() => { let ɵMagicDefaultValueAccessor_BaseFactory; return function MagicDefaultValueAccessor_Factory(t) { return (ɵMagicDefaultValueAccessor_BaseFactory || (ɵMagicDefaultValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(MagicDefaultValueAccessor)))(t || MagicDefaultValueAccessor); }; })();
|
11
|
+
static ɵdir = i0.ɵɵdefineDirective({ type: MagicDefaultValueAccessor, selectors: [["input", "magic", "", 3, "type", "checkbox", 3, "formControlName", "", 3, "no-form-control", ""], ["textarea", "magic", "", 3, "formControlName", "", 3, "noFormControl", "", 3, "no-form-control", ""]], hostBindings: function MagicDefaultValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {
|
12
|
+
i0.ɵɵlistener("input", function MagicDefaultValueAccessor_input_HostBindingHandler($event) { return ctx._handleInput($event.target.value); })("blur", function MagicDefaultValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); })("compositionstart", function MagicDefaultValueAccessor_compositionstart_HostBindingHandler() { return ctx._compositionStart(); })("compositionend", function MagicDefaultValueAccessor_compositionend_HostBindingHandler($event) { return ctx._compositionEnd($event.target.value); });
|
13
|
+
} }, exportAs: ["magic"], features: [i0.ɵɵProvidersFeature([MAGIC_DEFAULT_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature] });
|
14
|
+
}
|
15
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicDefaultValueAccessor, [{
|
16
|
+
type: Directive,
|
17
|
+
args: [{
|
18
|
+
selector: `
|
19
|
+
input[magic]:not([type=checkbox]):not([formControlName]):not([no-form-control]),
|
20
|
+
textarea[magic]:not([formControlName]):not([noFormControl]):not([no-form-control])
|
21
|
+
`,
|
22
|
+
host: {
|
23
|
+
'(input)': '$any(this)._handleInput($event.target.value)',
|
24
|
+
'(blur)': 'onTouched()',
|
25
|
+
'(compositionstart)': '$any(this)._compositionStart()',
|
26
|
+
'(compositionend)': '$any(this)._compositionEnd($event.target.value)'
|
27
|
+
},
|
28
|
+
providers: [MAGIC_DEFAULT_VALUE_ACCESSOR],
|
29
|
+
exportAs: 'magic'
|
30
|
+
}]
|
31
|
+
}], null, null); })();
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5jdmEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RlZmF1bHQuY3ZhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLekUsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQVE7SUFDL0MsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQW1CRixNQUFNLE9BQU8seUJBQTBCLFNBQVEsb0JBQW9CO21QQUF0RCx5QkFBeUIsU0FBekIseUJBQXlCOytDQUF6Qix5QkFBeUI7WUFBekIsb0dBQUEscUNBQTRDLElBQW5CLCtFQUF6QixlQUFXLElBQWMsdUdBQXpCLHVCQUE4QixJQUFMLHlHQUF6Qix3Q0FBK0MsSUFBdEI7bUVBSHpCLENBQUMsNEJBQTRCLENBQUM7O2lGQUc5Qix5QkFBeUI7Y0FkckMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRTs7O0dBR1Q7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLFNBQVMsRUFBRSw4Q0FBOEM7b0JBQ3pELFFBQVEsRUFBRSxhQUFhO29CQUN2QixvQkFBb0IsRUFBRSxnQ0FBZ0M7b0JBQ3RELGtCQUFrQixFQUFFLGlEQUFpRDtpQkFDdEU7Z0JBQ0QsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7Z0JBQ3pDLFFBQVEsRUFBRSxPQUFPO2FBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERlZmF1bHRWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTUFHSUNfREVGQVVMVF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hZ2ljRGVmYXVsdFZhbHVlQWNjZXNzb3IpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IGBcclxuICAgIGlucHV0W21hZ2ljXTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW2Zvcm1Db250cm9sTmFtZV0pOm5vdChbbm8tZm9ybS1jb250cm9sXSksXHJcbiAgICB0ZXh0YXJlYVttYWdpY106bm90KFtmb3JtQ29udHJvbE5hbWVdKTpub3QoW25vRm9ybUNvbnRyb2xdKTpub3QoW25vLWZvcm0tY29udHJvbF0pXHJcbiAgYCxcclxuICBob3N0OiB7XHJcbiAgICAnKGlucHV0KSc6ICckYW55KHRoaXMpLl9oYW5kbGVJbnB1dCgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXHJcbiAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcclxuICAgICcoY29tcG9zaXRpb25zdGFydCknOiAnJGFueSh0aGlzKS5fY29tcG9zaXRpb25TdGFydCgpJyxcclxuICAgICcoY29tcG9zaXRpb25lbmQpJzogJyRhbnkodGhpcykuX2NvbXBvc2l0aW9uRW5kKCRldmVudC50YXJnZXQudmFsdWUpJ1xyXG4gIH0sXHJcbiAgcHJvdmlkZXJzOiBbTUFHSUNfREVGQVVMVF9WQUxVRV9BQ0NFU1NPUl0sXHJcbiAgZXhwb3J0QXM6ICdtYWdpYydcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hZ2ljRGVmYXVsdFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBEZWZhdWx0VmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIC8qY29uc3RydWN0b3IoX3JlbmRlcmVyOiBSZW5kZXJlcjIsIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBAT3B0aW9uYWwoKSBASW5qZWN0KENPTVBPU0lUSU9OX0JVRkZFUl9NT0RFKSAgX2NvbXBvc2l0aW9uTW9kZTogYm9vbGVhbikge1xyXG4gICAgc3VwZXIoX3JlbmRlcmVyLCBfZWxlbWVudFJlZiwgX2NvbXBvc2l0aW9uTW9kZSk7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICB9Ki9cclxuXHJcbn1cclxuIl19
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { Directive, HostListener } from "@angular/core";
|
2
|
+
import { MagicDirective } from '../magic.directive';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "../magic.directive";
|
5
|
+
export class InputNoFormControlMagicDirective {
|
6
|
+
magicDirective;
|
7
|
+
constructor(magicDirective) {
|
8
|
+
this.magicDirective = magicDirective;
|
9
|
+
}
|
10
|
+
onChange($event) {
|
11
|
+
this.magicDirective.task.setInputTextValue(this.magicDirective.id, this.magicDirective.rowId, event.srcElement.value);
|
12
|
+
}
|
13
|
+
static ɵfac = function InputNoFormControlMagicDirective_Factory(t) { return new (t || InputNoFormControlMagicDirective)(i0.ɵɵdirectiveInject(i1.MagicDirective)); };
|
14
|
+
static ɵdir = i0.ɵɵdefineDirective({ type: InputNoFormControlMagicDirective, selectors: [["input", "magic", "", "noFormControl", "", 3, "type", "checkbox"], ["textarea", "magic", "", "noFormControl", "", 3, "type", "checkbox"]], hostBindings: function InputNoFormControlMagicDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
15
|
+
i0.ɵɵlistener("change", function InputNoFormControlMagicDirective_change_HostBindingHandler($event) { return ctx.onChange($event); });
|
16
|
+
} } });
|
17
|
+
}
|
18
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputNoFormControlMagicDirective, [{
|
19
|
+
type: Directive,
|
20
|
+
args: [{
|
21
|
+
selector: `input[magic]:([noFormControl]):not([type=checkbox]),
|
22
|
+
textarea[magic]:([noFormControl]):not([type=checkbox])`
|
23
|
+
}]
|
24
|
+
}], () => [{ type: i1.MagicDirective }], { onChange: [{
|
25
|
+
type: HostListener,
|
26
|
+
args: ['change', ['$event']]
|
27
|
+
}] }); })();
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubm9mb3JtY29udHJvbC5tYWdpYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9kaXJlY3RpdmVzL21hZ2ljL2lucHV0Lm5vZm9ybWNvbnRyb2wubWFnaWMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBV2xELE1BQU0sT0FBTyxnQ0FBZ0M7SUFDckI7SUFBdEIsWUFBc0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3BELENBQUM7SUFPRCxRQUFRLENBQUMsTUFBTTtRQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFDTixLQUFLLENBQUMsVUFBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hGLENBQUM7MEZBYlUsZ0NBQWdDOytDQUFoQyxnQ0FBZ0M7WUFBaEMsNkdBQUEsb0JBQWdCLElBQWdCOzs7aUZBQWhDLGdDQUFnQztjQUw1QyxTQUFTO2VBQUM7Z0JBQ0UsUUFBUSxFQUFFO29FQUM2QzthQUVuRTsrQ0FVQyxRQUFRO2tCQURQLFlBQVk7bUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtNYWdpY0RpcmVjdGl2ZX0gZnJvbSAnLi4vbWFnaWMuZGlyZWN0aXZlJztcclxuXHJcblxyXG4vKipcclxuICogRGlyZWN0aXZlIGZvciBub24tY2hlY2tib3ggaW5wdXQgY29udHJvbHMgd2hpY2ggZG8gbm90IGhhdmUgYSBmb3JtIGNvbnRyb2xcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgICAgICAgICAgc2VsZWN0b3I6IGBpbnB1dFttYWdpY106KFtub0Zvcm1Db250cm9sXSk6bm90KFt0eXBlPWNoZWNrYm94XSksXHJcbiAgICAgICAgICAgICB0ZXh0YXJlYVttYWdpY106KFtub0Zvcm1Db250cm9sXSk6bm90KFt0eXBlPWNoZWNrYm94XSlgXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXROb0Zvcm1Db250cm9sTWFnaWNEaXJlY3RpdmUgIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWFnaWNEaXJlY3RpdmU6IE1hZ2ljRGlyZWN0aXZlKSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyB0aGUgJ2NoYW5nZScgZXZlbnQgLSBwYXNzIGl0IHRvIHRoZSBNYWdpYyBlbmdpbmVcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnLCBbJyRldmVudCddKVxyXG4gIG9uQ2hhbmdlKCRldmVudCkge1xyXG4gICAgICB0aGlzLm1hZ2ljRGlyZWN0aXZlLnRhc2suc2V0SW5wdXRUZXh0VmFsdWUodGhpcy5tYWdpY0RpcmVjdGl2ZS5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hZ2ljRGlyZWN0aXZlLnJvd0lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8SFRNTElucHV0RWxlbWVudD5ldmVudC5zcmNFbGVtZW50KS52YWx1ZSlcclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,193 @@
|
|
1
|
+
import { Directive, ElementRef, Input, Renderer2, ViewContainerRef, Optional } from '@angular/core';
|
2
|
+
import { CommandType } from "@magic-xpa/gui";
|
3
|
+
import { getGuiEventObj } from "@magic-xpa/engine";
|
4
|
+
import { HtmlProperties } from "@magic-xpa/gui";
|
5
|
+
import { MagicDirective } from "../magic.directive";
|
6
|
+
import { TaskMagicService } from "../../../services/task.magics.service";
|
7
|
+
import { StylesMapManager } from "../../../services/StylesMapManager";
|
8
|
+
import { RowMagicDirective } from "./row.magic.directive";
|
9
|
+
import { Platform } from "@angular/cdk/platform";
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
import * as i1 from "../../../services/task.magics.service";
|
12
|
+
import * as i2 from "@angular/cdk/platform";
|
13
|
+
import * as i3 from "./row.magic.directive";
|
14
|
+
export class NoControlMagicDirective extends MagicDirective {
|
15
|
+
set magic(val) { this.id = val; this.selector = 'magicnc'; }
|
16
|
+
;
|
17
|
+
constructor(_task, element, renderer, vcRef, platform, magicRow) {
|
18
|
+
super(_task, element, renderer, vcRef, platform, magicRow);
|
19
|
+
}
|
20
|
+
regEvents() {
|
21
|
+
super.regEvents();
|
22
|
+
if (this.htmlElement instanceof HTMLSelectElement) {
|
23
|
+
this.htmlElement.addEventListener('change', (e) => {
|
24
|
+
let guiEvent = getGuiEventObj("selectionchanged", this.id, 0);
|
25
|
+
guiEvent.Value = (event.target).selectedIndex.toString();
|
26
|
+
this.task.insertEvent(guiEvent);
|
27
|
+
});
|
28
|
+
}
|
29
|
+
if (this.isRadio()) {
|
30
|
+
this.htmlElement.addEventListener('change', (e) => {
|
31
|
+
let guiEvent = getGuiEventObj("selectionchanged", this.id, 0);
|
32
|
+
guiEvent.Value = (e.target).value;
|
33
|
+
this.task.insertEvent(guiEvent);
|
34
|
+
});
|
35
|
+
}
|
36
|
+
if (this.isTabControl()) {
|
37
|
+
const tabControl = this.htmlElement.children[0];
|
38
|
+
let guiEvent = getGuiEventObj("selectionchanged", this.id, 0);
|
39
|
+
for (var i = 0; i < tabControl.children.length; i++) {
|
40
|
+
tabControl.children[i].addEventListener('click', (e) => {
|
41
|
+
guiEvent.Value = (e.currentTarget.getAttribute('layer') - 1).toString();
|
42
|
+
this.task.insertEvent(guiEvent);
|
43
|
+
});
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
isTabControl() {
|
48
|
+
return this.htmlElement instanceof HTMLDivElement &&
|
49
|
+
this.htmlElement.children[0].getAttribute('magicMark') === "magicTabControl";
|
50
|
+
}
|
51
|
+
isRadio() {
|
52
|
+
return this.htmlElement instanceof HTMLDivElement &&
|
53
|
+
this.htmlElement.children[0].getAttribute('magicMark') === "magicRadio";
|
54
|
+
}
|
55
|
+
handleCommand(command) {
|
56
|
+
super.handleCommand(command);
|
57
|
+
switch (command.CommandType) {
|
58
|
+
case CommandType.SET_CLASS:
|
59
|
+
const controlMetadata = this._task.Records.list[0].getControlMetadata(this.id);
|
60
|
+
if (controlMetadata.removedClass != '') {
|
61
|
+
this.htmlElement.classList.remove(controlMetadata.removedClass);
|
62
|
+
controlMetadata.removedClass = '';
|
63
|
+
}
|
64
|
+
this.htmlElement.classList.add(command.obj1);
|
65
|
+
break;
|
66
|
+
case CommandType.SET_VALUE:
|
67
|
+
if (this.htmlElement instanceof HTMLLabelElement)
|
68
|
+
this.htmlElement.innerText = command.value;
|
69
|
+
if (this.htmlElement instanceof HTMLSelectElement)
|
70
|
+
this.htmlElement.value = command.value;
|
71
|
+
if (this.htmlElement instanceof HTMLAnchorElement)
|
72
|
+
this.htmlElement.text = command.value;
|
73
|
+
if (this.htmlElement instanceof HTMLInputElement) {
|
74
|
+
if (this.htmlElement.type === "checkbox") {
|
75
|
+
this.htmlElement.checked = command.value;
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
this.htmlElement.value = command.value;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
if (this.htmlElement instanceof HTMLButtonElement) {
|
82
|
+
this.htmlElement.innerHTML = command.value;
|
83
|
+
}
|
84
|
+
break;
|
85
|
+
case CommandType.SET_PROPERTY:
|
86
|
+
this.handleSetProperty(command);
|
87
|
+
break;
|
88
|
+
case CommandType.SET_STYLE:
|
89
|
+
let value = StylesMapManager.magicValueGetStyle(command.Operation, command.obj1);
|
90
|
+
let attribute = StylesMapManager.MagicPropertyToHtmlAttributeMap.get(command.Operation);
|
91
|
+
this.htmlElement.setAttribute("style", attribute + ":" + value);
|
92
|
+
break;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
handleSetProperty(command) {
|
96
|
+
super.handleSetProperty(command);
|
97
|
+
switch (command.Operation) {
|
98
|
+
case HtmlProperties.Text:
|
99
|
+
if (this.htmlElement instanceof HTMLLabelElement)
|
100
|
+
this.htmlElement.innerText = command.obj1;
|
101
|
+
break;
|
102
|
+
case HtmlProperties.Image:
|
103
|
+
if (this.htmlElement instanceof HTMLImageElement)
|
104
|
+
this.htmlElement.src = command.obj1;
|
105
|
+
else
|
106
|
+
this.htmlElement.setAttribute("src", command.obj1);
|
107
|
+
break;
|
108
|
+
case HtmlProperties.ItemsList:
|
109
|
+
if (this.htmlElement instanceof HTMLSelectElement) {
|
110
|
+
var len = this.htmlElement.length;
|
111
|
+
for (var i = len - 1; i >= 0; i--) {
|
112
|
+
this.htmlElement.remove(i);
|
113
|
+
}
|
114
|
+
for (let s of command.obj1) {
|
115
|
+
let elem = document.createElement("option");
|
116
|
+
elem.text = s.displayValue;
|
117
|
+
elem.value = s.index;
|
118
|
+
this.htmlElement.add(elem);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
else if (this.isTabControl() && this.htmlElement.children.length > 0) {
|
122
|
+
const tabControl = this.htmlElement.children[0];
|
123
|
+
for (var i = 0; i < tabControl.children.length; i++) {
|
124
|
+
if (tabControl.children[i] instanceof HTMLButtonElement) {
|
125
|
+
tabControl.children[i].innerText = command.obj1[i].displayValue;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
}
|
129
|
+
break;
|
130
|
+
case HtmlProperties.Visible:
|
131
|
+
this.htmlElement.setAttribute('style', 'visibility:' + (command.obj1 ? 'visible' : 'hidden'));
|
132
|
+
break;
|
133
|
+
case HtmlProperties.Enabled:
|
134
|
+
if (command.obj1 === false)
|
135
|
+
this.htmlElement.setAttribute("disabled", "true");
|
136
|
+
else
|
137
|
+
this.htmlElement.removeAttribute("disabled");
|
138
|
+
break;
|
139
|
+
case HtmlProperties.TabIndex:
|
140
|
+
this.htmlElement.setAttribute(command.Operation, command.obj1);
|
141
|
+
break;
|
142
|
+
case HtmlProperties.SelectedValue:
|
143
|
+
if (this.htmlElement instanceof HTMLSelectElement)
|
144
|
+
this.htmlElement.value = command.obj1;
|
145
|
+
else if (this.isTabControl() && this.htmlElement.children.length > 0) {
|
146
|
+
const tabControl = this.htmlElement.children[0];
|
147
|
+
for (var i = 0; i < tabControl.children.length; i++) {
|
148
|
+
let child = tabControl.children[i];
|
149
|
+
const layer = child.getAttribute('layer') - 1;
|
150
|
+
if (child instanceof HTMLButtonElement) {
|
151
|
+
if (layer == command.obj1) {
|
152
|
+
child.classList.add('tab_button_active');
|
153
|
+
}
|
154
|
+
else {
|
155
|
+
child.classList.remove('tab_button_active');
|
156
|
+
}
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
let style = (layer == command.obj1) ? 'display: inline' : 'display: none';
|
160
|
+
child.setAttribute('style', style);
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
break;
|
165
|
+
case HtmlProperties.PlaceHolder:
|
166
|
+
this.htmlElement.setAttribute("placeholder", command.obj1);
|
167
|
+
break;
|
168
|
+
case HtmlProperties.Tooltip:
|
169
|
+
this.htmlElement.setAttribute("title", command.obj1);
|
170
|
+
break;
|
171
|
+
case HtmlProperties.Password:
|
172
|
+
if (command.obj1 === false)
|
173
|
+
this.htmlElement.setAttribute("type", "text");
|
174
|
+
else
|
175
|
+
this.htmlElement.setAttribute("type", "password");
|
176
|
+
break;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
static ɵfac = function NoControlMagicDirective_Factory(t) { return new (t || NoControlMagicDirective)(i0.ɵɵdirectiveInject(i1.TaskMagicService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i2.Platform), i0.ɵɵdirectiveInject(i3.RowMagicDirective, 8)); };
|
180
|
+
static ɵdir = i0.ɵɵdefineDirective({ type: NoControlMagicDirective, selectors: [["", "magicnc", ""]], inputs: { magic: [i0.ɵɵInputFlags.None, "magicnc", "magic"] }, features: [i0.ɵɵInheritDefinitionFeature] });
|
181
|
+
}
|
182
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NoControlMagicDirective, [{
|
183
|
+
type: Directive,
|
184
|
+
args: [{
|
185
|
+
selector: '[magicnc]'
|
186
|
+
}]
|
187
|
+
}], () => [{ type: i1.TaskMagicService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i2.Platform }, { type: i3.RowMagicDirective, decorators: [{
|
188
|
+
type: Optional
|
189
|
+
}] }], { magic: [{
|
190
|
+
type: Input,
|
191
|
+
args: ['magicnc']
|
192
|
+
}] }); })();
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMvbm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTyxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVMvQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQUV6RCxJQUFzQixLQUFLLENBQUMsR0FBRyxJQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQSxDQUFDO0lBQUEsQ0FBQztJQUU3RSxZQUNFLEtBQTBCLEVBQzFCLE9BQW9CLEVBQ3BCLFFBQW1CLEVBQ25CLEtBQTBCLEVBQzFCLFFBQWtCLEVBQ04sUUFBMkI7UUFDdkMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFP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LENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckQsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLFFBQVE7Z0JBQzFCLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLO29CQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7O29CQUU5QyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3BELE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztpRkFyTlUsdUJBQXVCOytDQUF2Qix1QkFBdUI7O2lGQUF2Qix1QkFBdUI7Y0FKbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2FBQ3RCOztzQkFZSSxRQUFRO3FCQVJXLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3Q29udGFpbmVyUmVmLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbWFuZFR5cGUsIEd1aUNvbW1hbmR9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge0lHdWlFdmVudCwgZ2V0R3VpRXZlbnRPYmp9IGZyb20gXCJAbWFnaWMteHBhL2VuZ2luZVwiO1xyXG5pbXBvcnQge0NvbnRyb2xNZXRhZGF0YX0gZnJvbSBcIi4uLy4uLy4uL2NvbnRyb2xzLm1ldGFkYXRhLm1vZGVsXCI7XHJcbmltcG9ydCB7SHRtbFByb3BlcnRpZXN9IGZyb20gIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtNYWdpY0RpcmVjdGl2ZX0gZnJvbSBcIi4uL21hZ2ljLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1Rhc2tNYWdpY1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3R5bGVzTWFwTWFuYWdlcn0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL1N0eWxlc01hcE1hbmFnZXJcIjtcclxuaW1wb3J0IHtSb3dNYWdpY0RpcmVjdGl2ZX0gZnJvbSBcIi4vcm93Lm1hZ2ljLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BsYXRmb3JtXCI7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbWFnaWNuY10nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTm9Db250cm9sTWFnaWNEaXJlY3RpdmUgZXh0ZW5kcyBNYWdpY0RpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgnbWFnaWNuYycpIHNldCBtYWdpYyh2YWwpIHt0aGlzLmlkID0gdmFsOyB0aGlzLnNlbGVjdG9yID0gJ21hZ2ljbmMnO307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX3Rhc2sgICA6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICBlbGVtZW50IDogRWxlbWVudFJlZixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICB2Y1JlZiAgIDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHBsYXRmb3JtOiBQbGF0Zm9ybSxcclxuICAgIEBPcHRpb25hbCgpIG1hZ2ljUm93OiBSb3dNYWdpY0RpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoX3Rhc2ssIGVsZW1lbnQsIHJlbmRlcmVyLCAgdmNSZWYsIHBsYXRmb3JtLCBtYWdpY1Jvdyk7XHJcbiAgfVxyXG5cclxuICByZWdFdmVudHMoKSB7XHJcbiAgc3VwZXIucmVnRXZlbnRzKClcclxuXHJcbiAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGUpID0+IHtcclxuICAgICAgICBsZXQgZ3VpRXZlbnQ6IElHdWlFdmVudCA9IGdldEd1aUV2ZW50T2JqKFwic2VsZWN0aW9uY2hhbmdlZFwiLCB0aGlzLmlkLCAwKTtcclxuICAgICAgICBndWlFdmVudC5WYWx1ZSA9ICg8YW55PihldmVudC50YXJnZXQpKS5zZWxlY3RlZEluZGV4LnRvU3RyaW5nKClcclxuICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc1JhZGlvKCkpIHtcclxuICAgICAgdGhpcy5odG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4ge1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGUudGFyZ2V0KSkudmFsdWU7XHJcbiAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5pc1RhYkNvbnRyb2woKSkge1xyXG4gICAgICAgIGNvbnN0IHRhYkNvbnRyb2wgPSB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdO1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGFiQ29udHJvbC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGFiQ29udHJvbC5jaGlsZHJlbltpXS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKCg8bnVtYmVyPjxhbnk+KDxFbGVtZW50PmUuY3VycmVudFRhcmdldCkuZ2V0QXR0cmlidXRlKCdsYXllcicpKS0xKS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaXMgdGhlIGRpdiBhIHRhYiBjb250cm9sXHJcbiAgaXNUYWJDb250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRGl2RWxlbWVudCAmJlxyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdLmdldEF0dHJpYnV0ZSgnbWFnaWNNYXJrJyk9PT0gXCJtYWdpY1RhYkNvbnRyb2xcIjtcclxuICB9XHJcblxyXG4gIC8vIGlzIHRoZSBkaXYgYSByYWRpbyBidXR0b25zIHdyYXBwZXJcclxuICBpc1JhZGlvKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRGl2RWxlbWVudCAmJlxyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdLmdldEF0dHJpYnV0ZSgnbWFnaWNNYXJrJykgPT09IFwibWFnaWNSYWRpb1wiO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ29tbWFuZChjb21tYW5kOiBHdWlDb21tYW5kKSB7XHJcbiAgICBzdXBlci5oYW5kbGVDb21tYW5kKGNvbW1hbmQpO1xyXG5cclxuICAgIHN3aXRjaCAoY29tbWFuZC5Db21tYW5kVHlwZSkge1xyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNFVF9DTEFTUzpcclxuICAgICAgICAvL3JlbW92ZSB0aGUgY2xhc3Mgd2hpY2ggd2FzIHJlcGxhY2VkIGJ5IHRoaXMgbmV3IG9uZSwgYXMgcmVnaXN0ZXJlZCBpbiB0aGUgQ29udHJvbE1ldGFkYXRhXHJcbiAgICAgICAgY29uc3QgY29udHJvbE1ldGFkYXRhOkNvbnRyb2xNZXRhZGF0YSA9IHRoaXMuX3Rhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLmlkKTtcclxuICAgICAgICBpZihjb250cm9sTWV0YWRhdGEucmVtb3ZlZENsYXNzICE9ICcnKSB7XHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY29udHJvbE1ldGFkYXRhLnJlbW92ZWRDbGFzcyk7XHJcbiAgICAgICAgICBjb250cm9sTWV0YWRhdGEucmVtb3ZlZENsYXNzID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2xhc3NMaXN0LmFkZChjb21tYW5kLm9iajEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAgQ29tbWFuZFR5cGUuU0VUX1ZBTFVFOlxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTExhYmVsRWxlbWVudClcclxuICAgICAgICAgICg8SFRNTExhYmVsRWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5pbm5lclRleHQgPSBjb21tYW5kLnZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MU2VsZWN0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQpIC8vaHlwZXItdGV4dCBidXR0b25cclxuICAgICAgICAgICg8SFRNTEFuY2hvckVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudGV4dCA9IGNvbW1hbmQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpZigoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudHlwZSA9PT0gXCJjaGVja2JveFwiKSB7XHJcbiAgICAgICAgICAgICg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5jaGVja2VkID0gY29tbWFuZC52YWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudmFsdWUgPSBjb21tYW5kLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAoPEhUTUxCdXR0b25FbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmlubmVySFRNTCA9IGNvbW1hbmQudmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX1BST1BFUlRZOlxyXG4gICAgICAgIHRoaXMuaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNFVF9TVFlMRTpcclxuICAgICAgICBsZXQgdmFsdWU6IHN0cmluZyA9IFN0eWxlc01hcE1hbmFnZXIubWFnaWNWYWx1ZUdldFN0eWxlKGNvbW1hbmQuT3BlcmF0aW9uLCBjb21tYW5kLm9iajEpO1xyXG4gICAgICAgIGxldCBhdHRyaWJ1dGU6IHN0cmluZyA9IFN0eWxlc01hcE1hbmFnZXIuTWFnaWNQcm9wZXJ0eVRvSHRtbEF0dHJpYnV0ZU1hcC5nZXQoY29tbWFuZC5PcGVyYXRpb24pO1xyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgYXR0cmlidXRlICsgXCI6XCIgKyB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gaGFuZGxlIHNldC1wcm9wZXJ0eSBjb21tYW5kc1xyXG4gIGhhbmRsZVNldFByb3BlcnR5KGNvbW1hbmQ6IEd1aUNvbW1hbmQpIHtcclxuICAgIHN1cGVyLmhhbmRsZVNldFByb3BlcnR5KGNvbW1hbmQpO1xyXG4gICAgc3dpdGNoIChjb21tYW5kLk9wZXJhdGlvbikge1xyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlRleHQ6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MTGFiZWxFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmlubmVyVGV4dCA9IGNvbW1hbmQub2JqMTtcclxuXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLkltYWdlOlxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudClcclxuICAgICAgICAgICg8SFRNTEltYWdlRWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5zcmMgPSBjb21tYW5kLm9iajE7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgY29tbWFuZC5vYmoxKTtcclxuXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLkl0ZW1zTGlzdDpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XHJcblxyXG4gICAgICAgICAgLy8gY2xlYXIgdGhlIGxpc3RcclxuICAgICAgICAgIHZhciBsZW4gPSB0aGlzLmh0bWxFbGVtZW50Lmxlbmd0aDtcclxuICAgICAgICAgIGZvciAodmFyIGkgPSBsZW4gLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnJlbW92ZShpKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBmb3IgKGxldCBzIG9mIGNvbW1hbmQub2JqMSkge1xyXG4gICAgICAgICAgICBsZXQgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIik7XHJcbiAgICAgICAgICAgIGVsZW0udGV4dCA9IHMuZGlzcGxheVZhbHVlO1xyXG4gICAgICAgICAgICBlbGVtLnZhbHVlID0gcy5pbmRleDtcclxuICAgICAgICAgICAgKDxIVE1MU2VsZWN0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5hZGQoZWxlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5pc1RhYkNvbnRyb2woKSAmJiB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHRhYkNvbnRyb2wgPSB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdO1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGFiQ29udHJvbC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZih0YWJDb250cm9sLmNoaWxkcmVuW2ldIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PnRhYkNvbnRyb2wuY2hpbGRyZW5baV0pLmlubmVyVGV4dCA9IGNvbW1hbmQub2JqMVtpXS5kaXNwbGF5VmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlZpc2libGU6XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3Zpc2liaWxpdHk6JyArIChjb21tYW5kLm9iajEgPyAndmlzaWJsZScgOiAnaGlkZGVuJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5FbmFibGVkOlxyXG4gICAgICAgIGlmIChjb21tYW5kLm9iajEgPT09IGZhbHNlKVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiLCBcInRydWVcIik7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVGFiSW5kZXg6XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoY29tbWFuZC5PcGVyYXRpb24sIGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlNlbGVjdGVkVmFsdWU6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudClcclxuICAgICAgICAgICg8SFRNTFNlbGVjdEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudmFsdWUgPSBjb21tYW5kLm9iajE7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmlzVGFiQ29udHJvbCgpICAmJiB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBjaGlsZCA9IHRhYkNvbnRyb2wuY2hpbGRyZW5baV07XHJcbiAgICAgICAgICAgIGNvbnN0IGxheWVyID0gKDxudW1iZXI+PGFueT5jaGlsZC5nZXRBdHRyaWJ1dGUoJ2xheWVyJykpLTE7XHJcblxyXG4gICAgICAgICAgICBpZihjaGlsZCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgLy8gc2V0IGJ1dHRvbiBzdHlsZVxyXG4gICAgICAgICAgICAgIGlmICggbGF5ZXIgPT0gY29tbWFuZC5vYmoxKSB7IC8vIGNvbXBhcmUgaW50IHRvIHN0cmluZ1xyXG4gICAgICAgICAgICAgICAgY2hpbGQuY2xhc3NMaXN0LmFkZCgndGFiX2J1dHRvbl9hY3RpdmUnKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0YWJfYnV0dG9uX2FjdGl2ZScpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAvLyBub3QgYSBidXRvbiAtIGhpZGUgdW5zZWxlY3RlZCB0YWJwYWdlc1xyXG4gICAgICAgICAgICAgIGxldCBzdHlsZSA9IChsYXllciA9PSBjb21tYW5kLm9iajEpID8gJ2Rpc3BsYXk6IGlubGluZScgOiAnZGlzcGxheTogbm9uZSc7XHJcbiAgICAgICAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdzdHlsZScsICBzdHlsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlBsYWNlSG9sZGVyOlxyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwicGxhY2Vob2xkZXJcIiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVG9vbHRpcDpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInRpdGxlXCIsIGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlBhc3N3b3JkOlxyXG4gICAgICAgIGlmIChjb21tYW5kLm9iajEgPT09IGZhbHNlKVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwidGV4dFwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJwYXNzd29yZFwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { Directive, ElementRef, HostListener, Input } from "@angular/core";
|
2
|
+
import { TaskMagicService } from "../../../services/task.magics.service";
|
3
|
+
import { getGuiEventObj } from "@magic-xpa/engine";
|
4
|
+
import { filter } from "rxjs/operators";
|
5
|
+
import { MagicDirective } from "../../directives/magic.directive";
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../../../services/task.magics.service";
|
8
|
+
export class RowMagicDirective {
|
9
|
+
_task;
|
10
|
+
element;
|
11
|
+
rowId;
|
12
|
+
htmlElement;
|
13
|
+
rowChangedSubscriber = null;
|
14
|
+
constructor(_task, element) {
|
15
|
+
this._task = _task;
|
16
|
+
this.element = element;
|
17
|
+
this.htmlElement = this.element.nativeElement;
|
18
|
+
}
|
19
|
+
ngOnInit() {
|
20
|
+
this.rowChangedSubscriber = this._task
|
21
|
+
.OnSelectedRowChanged.pipe(filter(rowId => rowId === this.rowId))
|
22
|
+
.subscribe(rowId => {
|
23
|
+
if (!this.isInView(this.htmlElement))
|
24
|
+
this.htmlElement.scrollIntoView();
|
25
|
+
});
|
26
|
+
}
|
27
|
+
isInView(element) {
|
28
|
+
const rect = element.getBoundingClientRect();
|
29
|
+
const parentRect = element.parentElement.getBoundingClientRect();
|
30
|
+
return (rect.top >= parentRect.top &&
|
31
|
+
rect.bottom <= parentRect.bottom);
|
32
|
+
}
|
33
|
+
ngOnDestroy() {
|
34
|
+
if (this.rowChangedSubscriber !== null) {
|
35
|
+
this.rowChangedSubscriber.unsubscribe();
|
36
|
+
}
|
37
|
+
}
|
38
|
+
onClick($event) {
|
39
|
+
if (this.rowId != '') {
|
40
|
+
this._task.insertEvent(getGuiEventObj('click', "magicRow", +this.rowId));
|
41
|
+
if (MagicDirective.noOfAutoCompleteBoxesOpened < 1)
|
42
|
+
event.cancelBubble = true;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
static ɵfac = function RowMagicDirective_Factory(t) { return new (t || RowMagicDirective)(i0.ɵɵdirectiveInject(i1.TaskMagicService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
46
|
+
static ɵdir = i0.ɵɵdefineDirective({ type: RowMagicDirective, selectors: [["", "magicRow", ""]], hostBindings: function RowMagicDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
47
|
+
i0.ɵɵlistener("click", function RowMagicDirective_click_HostBindingHandler($event) { return ctx.onClick($event); });
|
48
|
+
} }, inputs: { rowId: [i0.ɵɵInputFlags.None, "magicRow", "rowId"] } });
|
49
|
+
}
|
50
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RowMagicDirective, [{
|
51
|
+
type: Directive,
|
52
|
+
args: [{
|
53
|
+
selector: '[magicRow]'
|
54
|
+
}]
|
55
|
+
}], () => [{ type: i1.TaskMagicService }, { type: i0.ElementRef }], { rowId: [{
|
56
|
+
type: Input,
|
57
|
+
args: ['magicRow']
|
58
|
+
}], onClick: [{
|
59
|
+
type: HostListener,
|
60
|
+
args: ['click', ['$event']]
|
61
|
+
}] }); })();
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93Lm1hZ2ljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMvcm93Lm1hZ2ljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQTs7O0FBVS9ELE1BQU0sT0FBTyxpQkFBaUI7SUFjaEI7SUFDQTtJQWRPLEtBQUssQ0FBUztJQUt2QixXQUFXLENBQWM7SUFLM0Isb0JBQW9CLEdBQWlCLElBQUksQ0FBQztJQUVsRCxZQUNZLEtBQXdCLEVBQ3hCLE9BQW1CO1FBRG5CLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFHN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUNoRCxDQUFDO0lBS0QsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSzthQUNuQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUFPO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqRSxPQUFPLENBQ0wsSUFBSSxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRztZQUMxQixJQUFJLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQ2pDLENBQUM7SUFDSixDQUFDO0lBS0QsV0FBVztRQU9ULElBQUksSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUdELE9BQU8sQ0FBQyxNQUFNO1FBQ1osSUFBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDekUsSUFBSSxjQUFjLENBQUMsMkJBQTJCLEdBQUcsQ0FBQztnQkFDaEQsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7MkVBakVVLGlCQUFpQjsrQ0FBakIsaUJBQWlCO1lBQWpCLDRGQUFBLG1CQUFlLElBQUU7OztpRkFBakIsaUJBQWlCO2NBTDVCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTthQUN2QjswRUFJbUIsS0FBSztrQkFBdkIsS0FBSzttQkFBQyxVQUFVO1lBMERqQixPQUFPO2tCQUROLFlBQVk7bUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1Rhc2tNYWdpY1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Z2V0R3VpRXZlbnRPYmp9IGZyb20gXCJAbWFnaWMteHBhL2VuZ2luZVwiO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anMvUnhcIjtcclxuaW1wb3J0IHtNYWdpY0RpcmVjdGl2ZX0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvbWFnaWMuZGlyZWN0aXZlXCJcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG4gQERpcmVjdGl2ZSh7XHJcbiAgIHNlbGVjdG9yOiAnW21hZ2ljUm93XSdcclxuIH0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd01hZ2ljRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3l7XHJcbiAgQElucHV0KCdtYWdpY1JvdycpIHJvd0lkOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgY29ubmVjdGVkIHRvIHRoaXMgZGlyZWN0aXZlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcm93Q2hhbmdlZFN1YnNjcmliZXI6IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIF90YXNrIDogVGFza01hZ2ljU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmXHJcbiAgKVxyXG4gIHtcclxuICAgIHRoaXMuaHRtbEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHRoaXMgb2JqZWN0XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvd0NoYW5nZWRTdWJzY3JpYmVyID0gdGhpcy5fdGFza1xyXG4gICAgICAuT25TZWxlY3RlZFJvd0NoYW5nZWQucGlwZShmaWx0ZXIocm93SWQgPT4gcm93SWQgPT09IHRoaXMucm93SWQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHJvd0lkID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5pc0luVmlldyh0aGlzLmh0bWxFbGVtZW50KSlcclxuICAgICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNJblZpZXcoZWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBwYXJlbnRSZWN0ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgcmVjdC50b3AgPj0gcGFyZW50UmVjdC50b3AgJiZcclxuICAgICAgcmVjdC5ib3R0b20gPD0gcGFyZW50UmVjdC5ib3R0b21cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhbnVwXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyBEb24ndCBrbm93IHdoeSwgYnV0IHdoZW4gdGhlIHRhYmxlIGlzIGxvYWRlZCBmb3IgdGhlIGZpcnN0IHRpbWUsIHdlXHJcbiAgICAvLyBnZXQgbmdPbkluaXQoKSBmb3IgdGhlIDFzdCByb3cgKHJvd0lkID0gXCIwXCIpIGFuZCB0aGVuIG5nT25EZXN0cm95KClcclxuICAgIC8vIGZvciBudW1iZXIgb2Ygcm93cyBpbiB0aGUgcGFnZSBidXQgaGVyZSB0aGlzLnJvd0lkIGlzIHVuZGVmaW5lZC5cclxuICAgIC8vIFNpbmNlIG5nT25Jbml0KCkgd2FzIG5vdCBjYWxsZWQgZm9yIGFsbCB0aGVzZSByb3dzLCB0aGlzLnJvd0NoYW5nZWRTdWJzY3JpYmVyXHJcbiAgICAvLyBpcyBudWxsIGFuZCBoZW5jZSBjcmFzaGVzLlxyXG4gICAgLy8gU28sIHRoZSBjb25kaXRpb24gdG8gY2hlY2sgbnVsaXR5IGlzIGFkZGVkLlxyXG4gICAgaWYgKHRoaXMucm93Q2hhbmdlZFN1YnNjcmliZXIgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5yb3dDaGFuZ2VkU3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soJGV2ZW50KSB7XHJcbiAgICBpZih0aGlzLnJvd0lkICE9ICcnKSB7XHJcbiAgICAgIHRoaXMuX3Rhc2suaW5zZXJ0RXZlbnQoZ2V0R3VpRXZlbnRPYmooJ2NsaWNrJywgXCJtYWdpY1Jvd1wiLCArdGhpcy5yb3dJZCkpO1xyXG4gICAgICBpZiAoTWFnaWNEaXJlY3RpdmUubm9PZkF1dG9Db21wbGV0ZUJveGVzT3BlbmVkIDwgMSlcclxuICAgICAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuIH1cclxuIl19
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { Directive, ElementRef } from "@angular/core";
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class MagicFocusDirective {
|
4
|
+
hostElement;
|
5
|
+
constructor(hostElement) {
|
6
|
+
this.hostElement = hostElement;
|
7
|
+
}
|
8
|
+
ngAfterViewInit() {
|
9
|
+
this.hostElement.nativeElement.focus();
|
10
|
+
}
|
11
|
+
static ɵfac = function MagicFocusDirective_Factory(t) { return new (t || MagicFocusDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
12
|
+
static ɵdir = i0.ɵɵdefineDirective({ type: MagicFocusDirective, selectors: [["", "magicFocus", ""]] });
|
13
|
+
}
|
14
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicFocusDirective, [{
|
15
|
+
type: Directive,
|
16
|
+
args: [{
|
17
|
+
selector: '[magicFocus]'
|
18
|
+
}]
|
19
|
+
}], () => [{ type: i0.ElementRef }], null); })();
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtZm9jdXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy1mb2N1cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXRELE1BQU0sT0FBTyxtQkFBbUI7SUFFVjtJQUFwQixZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUFHLENBQUM7SUFDL0MsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pDLENBQUM7NkVBTFUsbUJBQW1COytDQUFuQixtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FIL0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBEaXJlY3RpdmUgZm9yIHNldHRpbmcgZm9jdXMgb24gZWxlbWVudFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWFnaWNGb2N1c10nXG59KVxuZXhwb3J0IGNsYXNzIE1hZ2ljRm9jdXNEaXJlY3RpdmUgIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxufVxuIl19
|