UNPKG

ion-oui

Version:

The client library of oui builder for ionic

272 lines (271 loc) 18 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.OUIIonFormSliderParser = exports.OUIIonFormSlider = exports.OUIIonFormDropdownParser = exports.OUIIonFormDropdown = exports.OUIIonFormCheckboxParser = exports.OUIIonFormCheckbox = exports.OUIIonFormSwitchParser = exports.OUIIonFormSwitch = exports.UIIonFormDatetimeParser = exports.OUIIonFormDatetime = exports.OUIIonFormTextFieldParser = exports.OUIIonFormTextField = exports.OUIIonFormParser = exports.OUIIonForm = void 0; var core_1 = require("@angular/core"); var oui_element_1 = require("../../oui-element"); var oui_parser_1 = require("../../oui-parser"); var forms_1 = require("@angular/forms"); var helpers_1 = require("../../helpers"); var common_1 = require("@angular/common"); var OUIIonForm = /** @class */ (function (_super) { __extends(OUIIonForm, _super); function OUIIonForm() { return _super !== null && _super.apply(this, arguments) || this; } OUIIonForm.prototype.ngAfterViewInit = function () { var _a, _b; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; if (formState) { formState.currentFormId = this.parentFormId; } }; OUIIonForm.prototype.ngOnInit = function () { var _a, _b; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; this.parentFormId = formState === null || formState === void 0 ? void 0 : formState.currentFormId; this.form = new forms_1.FormGroup({}); formState === null || formState === void 0 ? void 0 : formState.set(this.data.id, this.form); if (formState) { formState.currentFormId = this.data.id; } }; OUIIonForm = __decorate([ (0, core_1.Component)({ selector: 'app-ion-oui-form', template: "\n <div [id]=\"data.id\">\n <form *ngIf=\"form\" [formGroup]=\"form\">\n <app-ion-oui [mode]=\"mode\" *ngIf=\"data.child\" [data]=\"data.child\" [onClick]=\"click\"></app-ion-oui>\n </form>\n </div>\n ", styleUrls: ['../o-ui.scss'], }) ], OUIIonForm); return OUIIonForm; }(oui_element_1.OUIIonElement)); exports.OUIIonForm = OUIIonForm; var OUIIonFormParser = /** @class */ (function (_super) { __extends(OUIIonFormParser, _super); function OUIIonFormParser() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'Form'; _this.componentType = OUIIonForm; return _this; } return OUIIonFormParser; }(oui_parser_1.OUIAbstractIonParser)); exports.OUIIonFormParser = OUIIonFormParser; var OUIIonFormTextField = /** @class */ (function (_super) { __extends(OUIIonFormTextField, _super); function OUIIonFormTextField() { return _super !== null && _super.apply(this, arguments) || this; } OUIIonFormTextField.prototype.ngOnInit = function () { var _a, _b, _c; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; this.form = formState === null || formState === void 0 ? void 0 : formState.form(formState.currentFormId); (_c = this.form) === null || _c === void 0 ? void 0 : _c.addControl(this.data.name, new forms_1.FormControl((0, helpers_1.tryParsingDynamicValue)(this.data.initialValue, this.clickHandler), [])); }; OUIIonFormTextField = __decorate([ (0, core_1.Component)({ selector: 'app-ion-oui-form-edit', template: "\n <ion-item [formGroup]=\"form!\" lines=\"full\" [mode]=\"mode\">\n <ion-label *ngIf=\"data.labelText\" position=\"stacked\">\n {{data.labelText}}\n </ion-label>\n <ion-input [mode]=\"mode\" [formControlName]=\"data.name\" [type]=\"'text'\" [inputmode]=\"data.inputmode || 'text'\" [placeholder]=\"data.hint || ''\"></ion-input>\n </ion-item>\n ", styleUrls: ['../o-ui.scss'], }) ], OUIIonFormTextField); return OUIIonFormTextField; }(oui_element_1.OUIIonElement)); exports.OUIIonFormTextField = OUIIonFormTextField; var OUIIonFormTextFieldParser = /** @class */ (function (_super) { __extends(OUIIonFormTextFieldParser, _super); function OUIIonFormTextFieldParser() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'TextField'; _this.componentType = OUIIonFormTextField; return _this; } return OUIIonFormTextFieldParser; }(oui_parser_1.OUIAbstractIonParser)); exports.OUIIonFormTextFieldParser = OUIIonFormTextFieldParser; var OUIIonFormDatetime = /** @class */ (function (_super) { __extends(OUIIonFormDatetime, _super); function OUIIonFormDatetime(datePipe) { var _this = _super.call(this) || this; _this.datePipe = datePipe; return _this; } OUIIonFormDatetime.prototype.ngOnInit = function () { var _a, _b, _c; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; this.form = formState === null || formState === void 0 ? void 0 : formState.form(formState.currentFormId); (_c = this.form) === null || _c === void 0 ? void 0 : _c.addControl(this.data.name, new forms_1.FormControl((0, helpers_1.tryParsingDynamicValue)(this.data.initialValue, this.clickHandler), [])); }; OUIIonFormDatetime.prototype.formatDate = function (d) { return this.datePipe.transform(d, this.data.format || 'yyyy-MM-dd') || ''; }; OUIIonFormDatetime = __decorate([ (0, core_1.Component)({ selector: 'app-ion-oui-form-datetime', template: "\n\n <ion-item lines=\"full\" [mode]=\"mode\">\n <ion-label *ngIf=\"data.labelText\">\n {{data.labelText}}\n </ion-label>\n <ion-datetime-button slot=\"end\" datetime=\"datetime\">\n </ion-datetime-button>\n <!-- <ion-text slot=\"end\">{{ date | date: 'yyyy-MM-dd'}}</ion-text> -->\n <ng-container [formGroup]=\"form!\">\n <!-- <ion-input\n [mode]=\"mode\"\n [value]=\"date | date: (data.format || 'dd.MM.yyyy')\"\n id=\"date\"\n class=\"ion-text-end\"\n [placeholder]=\"data.hint || ''\"\n [formControlName]=\"data.name\"\n ></ion-input> -->\n \n\n <!-- <ion-modal [keepContentsMounted]=\"true\">\n <ng-template>\n <ion-datetime showDefaultButtons=\"true\" [presentation]=\"data.input || 'date'\" [formControlName]=\"data.name\" id=\"datetime\"></ion-datetime>\n </ng-template>\n </ion-modal> -->\n \n <ion-popover [keepContentsMounted]=\"true\" [mode]=\"mode\">\n <ng-template>\n <ion-datetime [(ngModel)]=\"date\" #popoverDatetime (ionChange)=\"date = formatDate(popoverDatetime.value); popoverDatetime.confirm(true);\" [presentation]=\"data.input || 'date'\" [formControlName]=\"data.name\" id=\"datetime\"></ion-datetime>\n </ng-template>\n </ion-popover>\n </ng-container>\n </ion-item>\n\n \n ", styleUrls: ['../o-ui.scss'], providers: [common_1.DatePipe] }) ], OUIIonFormDatetime); return OUIIonFormDatetime; }(oui_element_1.OUIIonElement)); exports.OUIIonFormDatetime = OUIIonFormDatetime; var UIIonFormDatetimeParser = /** @class */ (function (_super) { __extends(UIIonFormDatetimeParser, _super); function UIIonFormDatetimeParser() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'DateTime'; _this.componentType = OUIIonFormDatetime; return _this; } return UIIonFormDatetimeParser; }(oui_parser_1.OUIAbstractIonParser)); exports.UIIonFormDatetimeParser = UIIonFormDatetimeParser; var OUIIonFormSwitch = /** @class */ (function (_super) { __extends(OUIIonFormSwitch, _super); function OUIIonFormSwitch() { return _super !== null && _super.apply(this, arguments) || this; } OUIIonFormSwitch.prototype.ngOnInit = function () { var _a, _b, _c; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; this.form = formState === null || formState === void 0 ? void 0 : formState.form(formState.currentFormId); (_c = this.form) === null || _c === void 0 ? void 0 : _c.addControl(this.data.name, new forms_1.FormControl((0, helpers_1.tryParsingDynamicValue)(this.data.initialValue, this.clickHandler), [])); }; OUIIonFormSwitch = __decorate([ (0, core_1.Component)({ selector: 'app-ion-oui-form-switch', template: "\n <ion-item [formGroup]=\"form!\" lines=\"full\" [mode]=\"mode\">\n <ion-label>\n <app-ion-oui [mode]=\"mode\" [data]=\"data.title\" [onClick]=\"click\"></app-ion-oui>\n <app-ion-oui [mode]=\"mode\" *ngIf=\"data.subtitle\" [data]=\"data.subtitle\" [onClick]=\"click\"></app-ion-oui>\n </ion-label>\n <ion-toggle [mode]=\"mode\" [formControlName]=\"data.name\" [slot]=\"data.labelPosition\"></ion-toggle>\n </ion-item>\n ", styleUrls: ['../o-ui.scss'], }) ], OUIIonFormSwitch); return OUIIonFormSwitch; }(oui_element_1.OUIIonElement)); exports.OUIIonFormSwitch = OUIIonFormSwitch; var OUIIonFormSwitchParser = /** @class */ (function (_super) { __extends(OUIIonFormSwitchParser, _super); function OUIIonFormSwitchParser() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'Switch'; _this.componentType = OUIIonFormSwitch; return _this; } return OUIIonFormSwitchParser; }(oui_parser_1.OUIAbstractIonParser)); exports.OUIIonFormSwitchParser = OUIIonFormSwitchParser; var OUIIonFormCheckbox = /** @class */ (function (_super) { __extends(OUIIonFormCheckbox, _super); function OUIIonFormCheckbox() { return _super !== null && _super.apply(this, arguments) || this; } OUIIonFormCheckbox.prototype.ngOnInit = function () { var _a, _b, _c; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; this.form = formState === null || formState === void 0 ? void 0 : formState.form(formState.currentFormId); (_c = this.form) === null || _c === void 0 ? void 0 : _c.addControl(this.data.name, new forms_1.FormControl((0, helpers_1.tryParsingDynamicValue)(this.data.initialValue, this.clickHandler), [])); }; OUIIonFormCheckbox = __decorate([ (0, core_1.Component)({ selector: 'app-ion-oui-form-checkbox', template: "\n <ion-item [formGroup]=\"form!\" lines=\"full\" [mode]=\"mode\">\n <ion-label>\n <app-ion-oui [mode]=\"mode\" [data]=\"data.title\" [onClick]=\"click\"></app-ion-oui>\n <app-ion-oui [mode]=\"mode\" *ngIf=\"data.subtitle\" [data]=\"data.subtitle\" [onClick]=\"click\"></app-ion-oui>\n </ion-label>\n <ion-checkbox [mode]=\"mode\" [formControlName]=\"data.name\" [slot]=\"data.labelPosition\"></ion-checkbox>\n </ion-item>\n ", styleUrls: ['../o-ui.scss'], }) ], OUIIonFormCheckbox); return OUIIonFormCheckbox; }(oui_element_1.OUIIonElement)); exports.OUIIonFormCheckbox = OUIIonFormCheckbox; var OUIIonFormCheckboxParser = /** @class */ (function (_super) { __extends(OUIIonFormCheckboxParser, _super); function OUIIonFormCheckboxParser() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'Checkbox'; _this.componentType = OUIIonFormCheckbox; return _this; } return OUIIonFormCheckboxParser; }(oui_parser_1.OUIAbstractIonParser)); exports.OUIIonFormCheckboxParser = OUIIonFormCheckboxParser; var OUIIonFormDropdown = /** @class */ (function (_super) { __extends(OUIIonFormDropdown, _super); function OUIIonFormDropdown() { return _super !== null && _super.apply(this, arguments) || this; } OUIIonFormDropdown.prototype.ngOnInit = function () { var _a, _b, _c; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; this.form = formState === null || formState === void 0 ? void 0 : formState.form(formState.currentFormId); (_c = this.form) === null || _c === void 0 ? void 0 : _c.addControl(this.data.name, new forms_1.FormControl((0, helpers_1.tryParsingDynamicValue)(this.data.initialValue, this.clickHandler), [])); }; OUIIonFormDropdown = __decorate([ (0, core_1.Component)({ selector: 'app-ion-oui-form-dropdown', template: "\n <ion-item [formGroup]=\"form!\" lines=\"full\" [mode]=\"mode\">\n\n <ion-label *ngIf=\"data.labelText\">\n {{data.labelText}}\n </ion-label>\n \n \n <ion-select [mode]=\"mode\" [formControlName]=\"data.name\" [value]=\"data.default\" [multiple]=\"data.multiple\" [placeholder]=\"data.hint || ''\" interface=\"popover\">\n <ion-select-option [value]=\"item.value\" *ngFor=\"let item of data.items\">{{item.label}}</ion-select-option>\n </ion-select>\n </ion-item>\n ", styleUrls: ['../o-ui.scss'], }) ], OUIIonFormDropdown); return OUIIonFormDropdown; }(oui_element_1.OUIIonElement)); exports.OUIIonFormDropdown = OUIIonFormDropdown; var OUIIonFormDropdownParser = /** @class */ (function (_super) { __extends(OUIIonFormDropdownParser, _super); function OUIIonFormDropdownParser() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'Dropdown'; _this.componentType = OUIIonFormDropdown; return _this; } return OUIIonFormDropdownParser; }(oui_parser_1.OUIAbstractIonParser)); exports.OUIIonFormDropdownParser = OUIIonFormDropdownParser; var OUIIonFormSlider = /** @class */ (function (_super) { __extends(OUIIonFormSlider, _super); function OUIIonFormSlider() { return _super !== null && _super.apply(this, arguments) || this; } OUIIonFormSlider.prototype.ngOnInit = function () { var _a, _b, _c; var formState = (_b = (_a = this.clickHandler) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.formStates; this.form = formState === null || formState === void 0 ? void 0 : formState.form(formState.currentFormId); (_c = this.form) === null || _c === void 0 ? void 0 : _c.addControl(this.data.name, new forms_1.FormControl((0, helpers_1.tryParsingDynamicValue)(this.data.initialValue, this.clickHandler), [])); }; OUIIonFormSlider = __decorate([ (0, core_1.Component)({ selector: 'app-ion-oui-form-slider', template: "\n <ion-item [formGroup]=\"form!\" lines=\"full\" [mode]=\"mode\">\n <ion-label *ngIf=\"data.label\" position=\"stacked\">\n {{data.label}} - {{form?.value[data.name]}}\n </ion-label>\n <ion-range [mode]=\"mode\" [formControlName]=\"data.name\" [min]=\"data.min || 0\" [max]=\"data.max || 100\" dualKnobs=\"false\" pin=\"true\" snaps=\"false\" [step]=\"data.divisions || 1\" ticks=\"true\" [value]=\"data.initialValue\"\n color=\"primary\">\n </ion-range>\n <!-- <ion-toggle [slot]=\"data.labelPosition\"></ion-toggle> -->\n </ion-item>\n ", styleUrls: ['../o-ui.scss'], }) ], OUIIonFormSlider); return OUIIonFormSlider; }(oui_element_1.OUIIonElement)); exports.OUIIonFormSlider = OUIIonFormSlider; var OUIIonFormSliderParser = /** @class */ (function (_super) { __extends(OUIIonFormSliderParser, _super); function OUIIonFormSliderParser() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'Slider'; _this.componentType = OUIIonFormSlider; return _this; } return OUIIonFormSliderParser; }(oui_parser_1.OUIAbstractIonParser)); exports.OUIIonFormSliderParser = OUIIonFormSliderParser;