@skyux/inline-form 5.7.2 → 6.0.0-beta.2
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/documentation.json +1 -1
- package/esm2020/index.mjs +10 -0
- package/esm2020/lib/modules/inline-form/animations/slide-dissolve.mjs +26 -0
- package/esm2020/lib/modules/inline-form/inline-form-adapter.service.mjs +62 -0
- package/esm2020/lib/modules/inline-form/inline-form.component.mjs +220 -0
- package/esm2020/lib/modules/inline-form/inline-form.module.mjs +19 -0
- package/esm2020/lib/modules/inline-form/types/inline-form-button-action.mjs +2 -0
- package/esm2020/lib/modules/inline-form/types/inline-form-button-config.mjs +2 -0
- package/esm2020/lib/modules/inline-form/types/inline-form-button-layout.mjs +9 -0
- package/esm2020/lib/modules/inline-form/types/inline-form-close-args.mjs +2 -0
- package/esm2020/lib/modules/inline-form/types/inline-form-config.mjs +2 -0
- package/esm2020/lib/modules/shared/sky-inline-form-resources.module.mjs +50 -0
- package/esm2020/skyux-inline-form.mjs +5 -0
- package/fesm2015/{skyux-inline-form.js → skyux-inline-form.mjs} +17 -24
- package/fesm2015/skyux-inline-form.mjs.map +1 -0
- package/fesm2020/skyux-inline-form.mjs +379 -0
- package/fesm2020/skyux-inline-form.mjs.map +1 -0
- package/package.json +28 -12
- package/bundles/skyux-inline-form.umd.js +0 -433
- package/esm2015/index.js +0 -10
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/inline-form/animations/slide-dissolve.js +0 -26
- package/esm2015/lib/modules/inline-form/animations/slide-dissolve.js.map +0 -1
- package/esm2015/lib/modules/inline-form/inline-form-adapter.service.js +0 -62
- package/esm2015/lib/modules/inline-form/inline-form-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/inline-form/inline-form.component.js +0 -227
- package/esm2015/lib/modules/inline-form/inline-form.component.js.map +0 -1
- package/esm2015/lib/modules/inline-form/inline-form.module.js +0 -19
- package/esm2015/lib/modules/inline-form/inline-form.module.js.map +0 -1
- package/esm2015/lib/modules/inline-form/types/inline-form-button-action.js +0 -2
- package/esm2015/lib/modules/inline-form/types/inline-form-button-action.js.map +0 -1
- package/esm2015/lib/modules/inline-form/types/inline-form-button-config.js +0 -2
- package/esm2015/lib/modules/inline-form/types/inline-form-button-config.js.map +0 -1
- package/esm2015/lib/modules/inline-form/types/inline-form-button-layout.js +0 -9
- package/esm2015/lib/modules/inline-form/types/inline-form-button-layout.js.map +0 -1
- package/esm2015/lib/modules/inline-form/types/inline-form-close-args.js +0 -2
- package/esm2015/lib/modules/inline-form/types/inline-form-close-args.js.map +0 -1
- package/esm2015/lib/modules/inline-form/types/inline-form-config.js +0 -2
- package/esm2015/lib/modules/inline-form/types/inline-form-config.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-inline-form-resources.module.js +0 -50
- package/esm2015/lib/modules/shared/sky-inline-form-resources.module.js.map +0 -1
- package/esm2015/skyux-inline-form.js +0 -5
- package/esm2015/skyux-inline-form.js.map +0 -1
- package/fesm2015/skyux-inline-form.js.map +0 -1
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
|
|
2
|
-
import { SkyAppWindowRef } from '@skyux/core';
|
|
3
|
-
import { SkyLibResourcesService } from '@skyux/i18n';
|
|
4
|
-
import { zip as observableZip } from 'rxjs';
|
|
5
|
-
import { take } from 'rxjs/operators';
|
|
6
|
-
import { skySlideDissolve } from './animations/slide-dissolve';
|
|
7
|
-
import { SkyInlineFormAdapterService } from './inline-form-adapter.service';
|
|
8
|
-
import { SkyInlineFormButtonLayout } from './types/inline-form-button-layout';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./inline-form-adapter.service";
|
|
11
|
-
import * as i2 from "@skyux/i18n";
|
|
12
|
-
import * as i3 from "@skyux/core";
|
|
13
|
-
import * as i4 from "@angular/common";
|
|
14
|
-
/**
|
|
15
|
-
* Renders form content in the current view instead of a separate modal.
|
|
16
|
-
*/
|
|
17
|
-
export class SkyInlineFormComponent {
|
|
18
|
-
constructor(adapter, elementRef, resourcesService, skyAppWindowRef, changeDetectorRef) {
|
|
19
|
-
this.adapter = adapter;
|
|
20
|
-
this.elementRef = elementRef;
|
|
21
|
-
this.resourcesService = resourcesService;
|
|
22
|
-
this.skyAppWindowRef = skyAppWindowRef;
|
|
23
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
24
|
-
/**
|
|
25
|
-
* Fires when users close the inline form.
|
|
26
|
-
*/
|
|
27
|
-
this.close = new EventEmitter();
|
|
28
|
-
this._showForm = false;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Specifies configuration options for the buttons to display with the inline form.
|
|
32
|
-
* @required
|
|
33
|
-
*/
|
|
34
|
-
set config(value) {
|
|
35
|
-
if (value !== this._config) {
|
|
36
|
-
this._config = value;
|
|
37
|
-
this.setupButtons();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
get config() {
|
|
41
|
-
return this._config;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Indicates whether to display the inline form. Users can toggle between displaying
|
|
45
|
-
* and hiding the inline form.
|
|
46
|
-
* @default false
|
|
47
|
-
*/
|
|
48
|
-
set showForm(value) {
|
|
49
|
-
this._showForm = value;
|
|
50
|
-
/* istanbul ignore else */
|
|
51
|
-
if (value) {
|
|
52
|
-
// setTimeout() prevents applyAutofocus() from firing
|
|
53
|
-
// until after *ngIf has added the form element to the DOM.
|
|
54
|
-
this.skyAppWindowRef.nativeWindow.setTimeout(() => {
|
|
55
|
-
this.adapter.applyAutofocus(this.elementRef);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
get showForm() {
|
|
60
|
-
return this._showForm;
|
|
61
|
-
}
|
|
62
|
-
ngOnInit() {
|
|
63
|
-
this.setupButtons();
|
|
64
|
-
}
|
|
65
|
-
ngOnDestroy() {
|
|
66
|
-
this.close.complete();
|
|
67
|
-
}
|
|
68
|
-
closeInlineForm(event) {
|
|
69
|
-
const args = {
|
|
70
|
-
reason: event.action,
|
|
71
|
-
};
|
|
72
|
-
this.close.emit(args);
|
|
73
|
-
}
|
|
74
|
-
setupButtons() {
|
|
75
|
-
if (this.isValidCustomConfig(this.config)) {
|
|
76
|
-
this.buttons = this.getCustomButtons(this.config.buttons);
|
|
77
|
-
this.changeDetectorRef.markForCheck();
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
this.getPresetButtons().then((buttons) => {
|
|
81
|
-
this.buttons = buttons;
|
|
82
|
-
this.changeDetectorRef.markForCheck();
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
getPresetButtons() {
|
|
86
|
-
const buttonType = this.config
|
|
87
|
-
? this.config.buttonLayout
|
|
88
|
-
: SkyInlineFormButtonLayout.DoneCancel;
|
|
89
|
-
let promise;
|
|
90
|
-
switch (buttonType) {
|
|
91
|
-
/* istanbul ignore next */
|
|
92
|
-
default:
|
|
93
|
-
case SkyInlineFormButtonLayout.DoneCancel:
|
|
94
|
-
observableZip(this.resourcesService.getString('skyux_inline_form_button_done'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
|
|
95
|
-
.pipe(take(1))
|
|
96
|
-
.subscribe((values) => {
|
|
97
|
-
promise = new Promise((resolve) => {
|
|
98
|
-
resolve([
|
|
99
|
-
{
|
|
100
|
-
text: values[0],
|
|
101
|
-
styleType: 'primary',
|
|
102
|
-
action: 'done',
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
text: values[1],
|
|
106
|
-
styleType: 'link',
|
|
107
|
-
action: 'cancel',
|
|
108
|
-
},
|
|
109
|
-
]);
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
break;
|
|
113
|
-
case SkyInlineFormButtonLayout.SaveCancel:
|
|
114
|
-
observableZip(this.resourcesService.getString('skyux_inline_form_button_save'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
|
|
115
|
-
.pipe(take(1))
|
|
116
|
-
.subscribe((values) => {
|
|
117
|
-
promise = new Promise((resolve) => {
|
|
118
|
-
resolve([
|
|
119
|
-
{
|
|
120
|
-
text: values[0],
|
|
121
|
-
styleType: 'primary',
|
|
122
|
-
action: 'save',
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
text: values[1],
|
|
126
|
-
styleType: 'link',
|
|
127
|
-
action: 'cancel',
|
|
128
|
-
},
|
|
129
|
-
]);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
break;
|
|
133
|
-
case SkyInlineFormButtonLayout.DoneDeleteCancel:
|
|
134
|
-
observableZip(this.resourcesService.getString('skyux_inline_form_button_done'), this.resourcesService.getString('skyux_inline_form_button_delete'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
|
|
135
|
-
.pipe(take(1))
|
|
136
|
-
.subscribe((values) => {
|
|
137
|
-
promise = new Promise((resolve) => {
|
|
138
|
-
resolve([
|
|
139
|
-
{
|
|
140
|
-
text: values[0],
|
|
141
|
-
styleType: 'primary',
|
|
142
|
-
action: 'done',
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
text: values[1],
|
|
146
|
-
styleType: 'default',
|
|
147
|
-
action: 'delete',
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
text: values[2],
|
|
151
|
-
styleType: 'link',
|
|
152
|
-
action: 'cancel',
|
|
153
|
-
},
|
|
154
|
-
]);
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
break;
|
|
158
|
-
case SkyInlineFormButtonLayout.SaveDeleteCancel:
|
|
159
|
-
observableZip(this.resourcesService.getString('skyux_inline_form_button_save'), this.resourcesService.getString('skyux_inline_form_button_delete'), this.resourcesService.getString('skyux_inline_form_button_cancel'))
|
|
160
|
-
.pipe(take(1))
|
|
161
|
-
.subscribe((values) => {
|
|
162
|
-
promise = new Promise((resolve) => {
|
|
163
|
-
resolve([
|
|
164
|
-
{
|
|
165
|
-
text: values[0],
|
|
166
|
-
styleType: 'primary',
|
|
167
|
-
action: 'save',
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
text: values[1],
|
|
171
|
-
styleType: 'default',
|
|
172
|
-
action: 'delete',
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
text: values[2],
|
|
176
|
-
styleType: 'link',
|
|
177
|
-
action: 'cancel',
|
|
178
|
-
},
|
|
179
|
-
]);
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
break;
|
|
183
|
-
}
|
|
184
|
-
return promise;
|
|
185
|
-
}
|
|
186
|
-
getCustomButtons(buttonConfigs) {
|
|
187
|
-
const buttons = [];
|
|
188
|
-
buttonConfigs.forEach((config) => {
|
|
189
|
-
/* istanbul ignore next */
|
|
190
|
-
const styleType = config.styleType || 'default';
|
|
191
|
-
buttons.push({
|
|
192
|
-
action: config.action,
|
|
193
|
-
disabled: config.disabled,
|
|
194
|
-
styleType: styleType,
|
|
195
|
-
text: config.text,
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
return buttons;
|
|
199
|
-
}
|
|
200
|
-
isValidCustomConfig(config) {
|
|
201
|
-
return (config &&
|
|
202
|
-
config.buttonLayout === SkyInlineFormButtonLayout.Custom &&
|
|
203
|
-
config.buttons.length > 0);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
SkyInlineFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormComponent, deps: [{ token: i1.SkyInlineFormAdapterService }, { token: i0.ElementRef }, { token: i2.SkyLibResourcesService }, { token: i3.SkyAppWindowRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
207
|
-
SkyInlineFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyInlineFormComponent, selector: "sky-inline-form", inputs: { config: "config", template: "template", showForm: "showForm" }, outputs: { close: "close" }, providers: [SkyInlineFormAdapterService], ngImport: i0, template: "<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [skySlideDissolve], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormComponent, decorators: [{
|
|
209
|
-
type: Component,
|
|
210
|
-
args: [{
|
|
211
|
-
selector: 'sky-inline-form',
|
|
212
|
-
templateUrl: './inline-form.component.html',
|
|
213
|
-
styleUrls: ['./inline-form.component.scss'],
|
|
214
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
215
|
-
providers: [SkyInlineFormAdapterService],
|
|
216
|
-
animations: [skySlideDissolve],
|
|
217
|
-
}]
|
|
218
|
-
}], ctorParameters: function () { return [{ type: i1.SkyInlineFormAdapterService }, { type: i0.ElementRef }, { type: i2.SkyLibResourcesService }, { type: i3.SkyAppWindowRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { config: [{
|
|
219
|
-
type: Input
|
|
220
|
-
}], template: [{
|
|
221
|
-
type: Input
|
|
222
|
-
}], showForm: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], close: [{
|
|
225
|
-
type: Output
|
|
226
|
-
}] } });
|
|
227
|
-
//# sourceMappingURL=inline-form.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inline-form.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.ts","../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { SkyAppWindowRef } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { zip as observableZip } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { skySlideDissolve } from './animations/slide-dissolve';\nimport { SkyInlineFormAdapterService } from './inline-form-adapter.service';\nimport { SkyInlineFormButtonConfig } from './types/inline-form-button-config';\nimport { SkyInlineFormButtonLayout } from './types/inline-form-button-layout';\nimport { SkyInlineFormCloseArgs } from './types/inline-form-close-args';\nimport { SkyInlineFormConfig } from './types/inline-form-config';\n\n/**\n * Renders form content in the current view instead of a separate modal.\n */\n@Component({\n selector: 'sky-inline-form',\n templateUrl: './inline-form.component.html',\n styleUrls: ['./inline-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyInlineFormAdapterService],\n animations: [skySlideDissolve],\n})\nexport class SkyInlineFormComponent implements OnInit, OnDestroy {\n /**\n * Specifies configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig) {\n if (value !== this._config) {\n this._config = value;\n this.setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig {\n return this._config;\n }\n\n /**\n * Specifies a template to use to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<any>;\n\n /**\n * Indicates whether to display the inline form. Users can toggle between displaying\n * and hiding the inline form.\n * @default false\n */\n @Input()\n public set showForm(value: boolean) {\n this._showForm = value;\n\n /* istanbul ignore else */\n if (value) {\n // setTimeout() prevents applyAutofocus() from firing\n // until after *ngIf has added the form element to the DOM.\n this.skyAppWindowRef.nativeWindow.setTimeout(() => {\n this.adapter.applyAutofocus(this.elementRef);\n });\n }\n }\n\n public get showForm() {\n return this._showForm;\n }\n\n /**\n * Fires when users close the inline form.\n */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public close = new EventEmitter<SkyInlineFormCloseArgs>();\n\n public buttons: SkyInlineFormButtonConfig[];\n\n private _config: SkyInlineFormConfig;\n\n private _showForm = false;\n\n constructor(\n private adapter: SkyInlineFormAdapterService,\n private elementRef: ElementRef,\n private resourcesService: SkyLibResourcesService,\n private skyAppWindowRef: SkyAppWindowRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this.setupButtons();\n }\n\n public ngOnDestroy(): void {\n this.close.complete();\n }\n\n public closeInlineForm(event: SkyInlineFormButtonConfig): void {\n const args: SkyInlineFormCloseArgs = {\n reason: event.action,\n };\n this.close.emit(args);\n }\n\n private setupButtons(): void {\n if (this.isValidCustomConfig(this.config)) {\n this.buttons = this.getCustomButtons(this.config.buttons);\n this.changeDetectorRef.markForCheck();\n return;\n }\n\n this.getPresetButtons().then((buttons) => {\n this.buttons = buttons;\n this.changeDetectorRef.markForCheck();\n });\n }\n\n private getPresetButtons(): Promise<SkyInlineFormButtonConfig[]> {\n const buttonType = this.config\n ? this.config.buttonLayout\n : SkyInlineFormButtonLayout.DoneCancel;\n\n let promise: Promise<SkyInlineFormButtonConfig[]>;\n\n switch (buttonType) {\n /* istanbul ignore next */\n default:\n case SkyInlineFormButtonLayout.DoneCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.DoneDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n }\n\n return promise;\n }\n\n private getCustomButtons(\n buttonConfigs: SkyInlineFormButtonConfig[]\n ): SkyInlineFormButtonConfig[] {\n const buttons: SkyInlineFormButtonConfig[] = [];\n\n buttonConfigs.forEach((config: SkyInlineFormButtonConfig) => {\n /* istanbul ignore next */\n const styleType = config.styleType || 'default';\n\n buttons.push({\n action: config.action,\n disabled: config.disabled,\n styleType: styleType,\n text: config.text,\n } as SkyInlineFormButtonConfig);\n });\n\n return buttons;\n }\n\n private isValidCustomConfig(config: SkyInlineFormConfig): boolean {\n return (\n config &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom &&\n config.buttons.length > 0\n );\n }\n}\n","<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n</div>\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SkyInlineFormResourcesModule } from '../shared/sky-inline-form-resources.module';
|
|
4
|
-
import { SkyInlineFormComponent } from './inline-form.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class SkyInlineFormModule {
|
|
7
|
-
}
|
|
8
|
-
SkyInlineFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
SkyInlineFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, declarations: [SkyInlineFormComponent], imports: [CommonModule, SkyInlineFormResourcesModule], exports: [SkyInlineFormComponent] });
|
|
10
|
-
SkyInlineFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, imports: [[CommonModule, SkyInlineFormResourcesModule]] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [SkyInlineFormComponent],
|
|
15
|
-
imports: [CommonModule, SkyInlineFormResourcesModule],
|
|
16
|
-
exports: [SkyInlineFormComponent],
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=inline-form.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inline-form.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAE1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;;AAOjE,MAAM,OAAO,mBAAmB;;iHAAnB,mBAAmB;kHAAnB,mBAAmB,iBAJf,sBAAsB,aAC3B,YAAY,EAAE,4BAA4B,aAC1C,sBAAsB;kHAErB,mBAAmB,YAHrB,CAAC,YAAY,EAAE,4BAA4B,CAAC;4FAG1C,mBAAmB;kBAL/B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,YAAY,EAAE,4BAA4B,CAAC;oBACrD,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyInlineFormResourcesModule } from '../shared/sky-inline-form-resources.module';\n\nimport { SkyInlineFormComponent } from './inline-form.component';\n\n@NgModule({\n declarations: [SkyInlineFormComponent],\n imports: [CommonModule, SkyInlineFormResourcesModule],\n exports: [SkyInlineFormComponent],\n})\nexport class SkyInlineFormModule {}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inline-form-button-action.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-button-action.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * @internal\n */\nexport type SkyInlineFormButtonAction = 'done' | 'save' | 'delete' | 'cancel';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inline-form-button-config.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-button-config.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Specifies configuration options for the inline form's buttons.\n */\nexport interface SkyInlineFormButtonConfig {\n /**\n * Specifies the action that the button performs.\n * The valid options are `cancel`, `delete`, `done`, and `save`.\n * @required\n */\n action: string;\n\n /**\n * Specifies a label for the button.\n * @required\n */\n text: string;\n\n /**\n * Indicates whether to disable the button.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Specifies a background color and style for the button.\n * The valid options are `default`, `link`, and `primary`.\n * These values set the background color and style from the\n * [secondary, link, and primary button classes](https://developer.blackbaud.com/skyux/components/button) respectively.\n */\n styleType?: string;\n}\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export var SkyInlineFormButtonLayout;
|
|
2
|
-
(function (SkyInlineFormButtonLayout) {
|
|
3
|
-
SkyInlineFormButtonLayout[SkyInlineFormButtonLayout["Custom"] = 0] = "Custom";
|
|
4
|
-
SkyInlineFormButtonLayout[SkyInlineFormButtonLayout["DoneCancel"] = 1] = "DoneCancel";
|
|
5
|
-
SkyInlineFormButtonLayout[SkyInlineFormButtonLayout["DoneDeleteCancel"] = 2] = "DoneDeleteCancel";
|
|
6
|
-
SkyInlineFormButtonLayout[SkyInlineFormButtonLayout["SaveCancel"] = 3] = "SaveCancel";
|
|
7
|
-
SkyInlineFormButtonLayout[SkyInlineFormButtonLayout["SaveDeleteCancel"] = 4] = "SaveDeleteCancel";
|
|
8
|
-
})(SkyInlineFormButtonLayout || (SkyInlineFormButtonLayout = {}));
|
|
9
|
-
//# sourceMappingURL=inline-form-button-layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inline-form-button-layout.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-button-layout.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,6EAAU,CAAA;IACV,qFAAc,CAAA;IACd,iGAAoB,CAAA;IACpB,qFAAc,CAAA;IACd,iGAAoB,CAAA;AACtB,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,QAMpC","sourcesContent":["export enum SkyInlineFormButtonLayout {\n Custom = 0,\n DoneCancel = 1,\n DoneDeleteCancel = 2,\n SaveCancel = 3,\n SaveDeleteCancel = 4,\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inline-form-close-args.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-close-args.ts"],"names":[],"mappings":"","sourcesContent":["export interface SkyInlineFormCloseArgs {\n /**\n * Returns a `string` value that explains why the inline form closed.\n * The possible values are `cancel`, `delete`, `done`, and `save`.\n */\n reason: string;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inline-form-config.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-config.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyInlineFormButtonConfig } from './inline-form-button-config';\nimport { SkyInlineFormButtonLayout } from './inline-form-button-layout';\n\n/**\n * Specifies configuration options for the buttons to display with the inline form.\n */\nexport interface SkyInlineFormConfig {\n /**\n * Specifies the buttons to display with the inline form. The valid options are `Custom`\n * for custom buttons, `DoneCancel` for Done and Cancel buttons, `DoneDeleteCancel` for Done,\n * Delete, and Cancel buttons, `SaveCancel` for Save and Cancel buttons, and `SaveDeleteCancel`\n * for Save, Delete, and Cancel buttons.\n * @required\n */\n buttonLayout: SkyInlineFormButtonLayout;\n /**\n * Specifies configuration options for the inline form's buttons.\n */\n buttons?: SkyInlineFormButtonConfig[];\n}\n"]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
3
|
-
* The contents of this file were automatically generated by
|
|
4
|
-
* the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-inline-form' schematic.
|
|
5
|
-
* To update this file, simply rerun the command.
|
|
6
|
-
*/
|
|
7
|
-
import { NgModule } from '@angular/core';
|
|
8
|
-
import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
const RESOURCES = {
|
|
11
|
-
'EN-US': {
|
|
12
|
-
skyux_inline_form_button_cancel: { message: 'Cancel' },
|
|
13
|
-
skyux_inline_form_button_delete: { message: 'Delete' },
|
|
14
|
-
skyux_inline_form_button_done: { message: 'Done' },
|
|
15
|
-
skyux_inline_form_button_save: { message: 'Save' },
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
export class SkyInlineFormResourcesProvider {
|
|
19
|
-
getString(localeInfo, name) {
|
|
20
|
-
return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Import into any component library module that needs to use resource strings.
|
|
25
|
-
*/
|
|
26
|
-
export class SkyInlineFormResourcesModule {
|
|
27
|
-
}
|
|
28
|
-
SkyInlineFormResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
|
-
SkyInlineFormResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, exports: [SkyI18nModule] });
|
|
30
|
-
SkyInlineFormResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, providers: [
|
|
31
|
-
{
|
|
32
|
-
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
33
|
-
useClass: SkyInlineFormResourcesProvider,
|
|
34
|
-
multi: true,
|
|
35
|
-
},
|
|
36
|
-
], imports: [SkyI18nModule] });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, decorators: [{
|
|
38
|
-
type: NgModule,
|
|
39
|
-
args: [{
|
|
40
|
-
exports: [SkyI18nModule],
|
|
41
|
-
providers: [
|
|
42
|
-
{
|
|
43
|
-
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
44
|
-
useClass: SkyInlineFormResourcesProvider,
|
|
45
|
-
multi: true,
|
|
46
|
-
},
|
|
47
|
-
],
|
|
48
|
-
}]
|
|
49
|
-
}] });
|
|
50
|
-
//# sourceMappingURL=sky-inline-form-resources.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sky-inline-form-resources.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,2BAA2B,EAE3B,aAAa,EAGb,qBAAqB,GACtB,MAAM,aAAa,CAAC;;AAErB,MAAM,SAAS,GAA0C;IACvD,OAAO,EAAE;QACP,+BAA+B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACtD,+BAA+B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACtD,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAClD,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KACnD;CACF,CAAC;AAEF,MAAM,OAAO,8BAA8B;IAClC,SAAS,CACd,UAA4B,EAC5B,IAAY;QAEZ,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;GAEG;AAWH,MAAM,OAAO,4BAA4B;;0HAA5B,4BAA4B;2HAA5B,4BAA4B,YAT7B,aAAa;2HASZ,4BAA4B,aAR5B;QACT;YACE,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,8BAA8B;YACxC,KAAK,EAAE,IAAI;SACZ;KACF,YAPS,aAAa;4FASZ,4BAA4B;kBAVxC,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,2BAA2B;4BACpC,QAAQ,EAAE,8BAA8B;4BACxC,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF","sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-inline-form' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_inline_form_button_cancel: { message: 'Cancel' },\n skyux_inline_form_button_delete: { message: 'Delete' },\n skyux_inline_form_button_done: { message: 'Done' },\n skyux_inline_form_button_save: { message: 'Save' },\n },\n};\n\nexport class SkyInlineFormResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyInlineFormResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyInlineFormResourcesModule {}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-inline-form.js","sourceRoot":"","sources":["../../../../../libs/components/inline-form/src/skyux-inline-form.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-inline-form.js","sources":["../../../../../libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/animations/slide-dissolve.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-button-layout.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.html","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.module.ts","../../../../../libs/components/inline-form/src/skyux-inline-form.ts"],"sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-inline-form' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_inline_form_button_cancel: { message: 'Cancel' },\n skyux_inline_form_button_delete: { message: 'Delete' },\n skyux_inline_form_button_done: { message: 'Done' },\n skyux_inline_form_button_save: { message: 'Save' },\n },\n};\n\nexport class SkyInlineFormResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyInlineFormResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyInlineFormResourcesModule {}\n","import {\n AnimationTriggerMetadata,\n animate,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const skySlideDissolve: AnimationTriggerMetadata = trigger(\n 'skySlideDissolve',\n [\n transition('* <=> *', [\n // Expand animations\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ height: 0, opacity: 0 }),\n animate('200ms ease-in', style({ height: '*', opacity: 0 })),\n ],\n { optional: true }\n ),\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ opacity: 0 }),\n animate('200ms ease-in', style({ opacity: 1 })),\n ],\n { optional: true }\n ),\n\n // Collapse animations\n // The expanded content should fade out immediately to prevent\n // any overlap with the read-only content that's returning to the screen.\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('0ms', style({ opacity: 0 }))],\n { optional: true }\n ),\n\n group([\n query(\n '.sky-slide-dissolve-first:enter',\n [\n style({ opacity: 0, height: 0 }),\n animate('100ms ease-in', style({ opacity: 1, height: '*' })),\n ],\n { optional: true }\n ),\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('200ms ease-in', style({ height: 0 }))],\n { optional: true }\n ),\n ]),\n ]),\n ]\n);\n","import { ElementRef, Injectable } from '@angular/core';\n\n/* tslint:disable */\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n \"input:not([disabled]):not([tabindex='-1'])\",\n \"button:not([disabled]):not([tabindex='-1'])\",\n \"select:not([disabled]):not([tabindex='-1'])\",\n \"textarea:not([disabled]):not([tabindex='-1'])\",\n 'iframe',\n 'object',\n 'embed',\n \"*[tabindex]:not([tabindex='-1'])\",\n '*[contenteditable=true]',\n].join(', ');\n/* tslint:enable */\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineFormAdapterService {\n public applyAutofocus(inlineFormElementRef: ElementRef): void {\n const inputWithAutofocus =\n inlineFormElementRef.nativeElement.querySelector('[autofocus]');\n\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n } else {\n const focusEl: HTMLElement =\n inlineFormElementRef.nativeElement.querySelector(\n '.sky-inline-form-content'\n );\n const focusableChildren = this.loadFocusableChildren(focusEl);\n\n this.focusFirstElement(focusableChildren);\n }\n }\n\n private loadFocusableChildren(elem: HTMLElement): HTMLElement[] {\n const elements: Array<HTMLElement> = Array.prototype.slice.call(\n elem.querySelectorAll(SKY_TABBABLE_SELECTOR)\n );\n\n return elements.filter((element) => {\n return this.isVisible(element);\n });\n }\n\n private isVisible(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n\n /* istanbul ignore next */\n const hasBounds = !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n return hasBounds;\n }\n\n private focusFirstElement(list: Array<HTMLElement>): void {\n if (list.length > 0) {\n list[0].focus();\n }\n }\n}\n","export enum SkyInlineFormButtonLayout {\n Custom = 0,\n DoneCancel = 1,\n DoneDeleteCancel = 2,\n SaveCancel = 3,\n SaveDeleteCancel = 4,\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { SkyAppWindowRef } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { zip as observableZip } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { skySlideDissolve } from './animations/slide-dissolve';\nimport { SkyInlineFormAdapterService } from './inline-form-adapter.service';\nimport { SkyInlineFormButtonConfig } from './types/inline-form-button-config';\nimport { SkyInlineFormButtonLayout } from './types/inline-form-button-layout';\nimport { SkyInlineFormCloseArgs } from './types/inline-form-close-args';\nimport { SkyInlineFormConfig } from './types/inline-form-config';\n\n/**\n * Renders form content in the current view instead of a separate modal.\n */\n@Component({\n selector: 'sky-inline-form',\n templateUrl: './inline-form.component.html',\n styleUrls: ['./inline-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyInlineFormAdapterService],\n animations: [skySlideDissolve],\n})\nexport class SkyInlineFormComponent implements OnInit, OnDestroy {\n /**\n * Specifies configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig) {\n if (value !== this._config) {\n this._config = value;\n this.setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig {\n return this._config;\n }\n\n /**\n * Specifies a template to use to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<any>;\n\n /**\n * Indicates whether to display the inline form. Users can toggle between displaying\n * and hiding the inline form.\n * @default false\n */\n @Input()\n public set showForm(value: boolean) {\n this._showForm = value;\n\n /* istanbul ignore else */\n if (value) {\n // setTimeout() prevents applyAutofocus() from firing\n // until after *ngIf has added the form element to the DOM.\n this.skyAppWindowRef.nativeWindow.setTimeout(() => {\n this.adapter.applyAutofocus(this.elementRef);\n });\n }\n }\n\n public get showForm() {\n return this._showForm;\n }\n\n /**\n * Fires when users close the inline form.\n */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public close = new EventEmitter<SkyInlineFormCloseArgs>();\n\n public buttons: SkyInlineFormButtonConfig[];\n\n private _config: SkyInlineFormConfig;\n\n private _showForm = false;\n\n constructor(\n private adapter: SkyInlineFormAdapterService,\n private elementRef: ElementRef,\n private resourcesService: SkyLibResourcesService,\n private skyAppWindowRef: SkyAppWindowRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this.setupButtons();\n }\n\n public ngOnDestroy(): void {\n this.close.complete();\n }\n\n public closeInlineForm(event: SkyInlineFormButtonConfig): void {\n const args: SkyInlineFormCloseArgs = {\n reason: event.action,\n };\n this.close.emit(args);\n }\n\n private setupButtons(): void {\n if (this.isValidCustomConfig(this.config)) {\n this.buttons = this.getCustomButtons(this.config.buttons);\n this.changeDetectorRef.markForCheck();\n return;\n }\n\n this.getPresetButtons().then((buttons) => {\n this.buttons = buttons;\n this.changeDetectorRef.markForCheck();\n });\n }\n\n private getPresetButtons(): Promise<SkyInlineFormButtonConfig[]> {\n const buttonType = this.config\n ? this.config.buttonLayout\n : SkyInlineFormButtonLayout.DoneCancel;\n\n let promise: Promise<SkyInlineFormButtonConfig[]>;\n\n switch (buttonType) {\n /* istanbul ignore next */\n default:\n case SkyInlineFormButtonLayout.DoneCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.DoneDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n }\n\n return promise;\n }\n\n private getCustomButtons(\n buttonConfigs: SkyInlineFormButtonConfig[]\n ): SkyInlineFormButtonConfig[] {\n const buttons: SkyInlineFormButtonConfig[] = [];\n\n buttonConfigs.forEach((config: SkyInlineFormButtonConfig) => {\n /* istanbul ignore next */\n const styleType = config.styleType || 'default';\n\n buttons.push({\n action: config.action,\n disabled: config.disabled,\n styleType: styleType,\n text: config.text,\n } as SkyInlineFormButtonConfig);\n });\n\n return buttons;\n }\n\n private isValidCustomConfig(config: SkyInlineFormConfig): boolean {\n return (\n config &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom &&\n config.buttons.length > 0\n );\n }\n}\n","<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyInlineFormResourcesModule } from '../shared/sky-inline-form-resources.module';\n\nimport { SkyInlineFormComponent } from './inline-form.component';\n\n@NgModule({\n declarations: [SkyInlineFormComponent],\n imports: [CommonModule, SkyInlineFormResourcesModule],\n exports: [SkyInlineFormComponent],\n})\nexport class SkyInlineFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableZip"],"mappings":"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"}
|