@memberjunction/ng-core-entity-forms 5.12.0 → 5.13.0
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/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +3 -3
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +3 -3
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +3 -3
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +3 -3
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +7 -7
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/package.json +31 -31
|
@@ -94,14 +94,14 @@ let MJEntityActionFormComponentExtended = class MJEntityActionFormComponentExten
|
|
|
94
94
|
return this.currentTab === tabName;
|
|
95
95
|
}
|
|
96
96
|
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJEntityActionFormComponentExtended_BaseFactory; return function MJEntityActionFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJEntityActionFormComponentExtended_BaseFactory || (ɵMJEntityActionFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJEntityActionFormComponentExtended)))(__ngFactoryType__ || MJEntityActionFormComponentExtended); }; })(); }
|
|
97
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJEntityActionFormComponentExtended, selectors: [["mj-custom-entity-action-extended-form"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 1, consts: [["form", "ngForm"], ["topArea", ""], [1, "record-form-container"], [1, "record-form"], [3, "Form"], [1, "record-form-group"], [3, "TabSelected", "ResizeContainer"], ["Name", "Details"], ["Entity", "MJ: Entity Actions", "Section", "details", 3, "record", "EditMode"], ["Name", "MJ: Entity Action Params", 3, "Visible", "Props"], ["RowsEntityName", "MJ: Action Params", "RowsEntityDisplayField", "Name", "RowsEntityDataSource", "FullEntity", "RowsOrderBy", "ID", "RowsEntityDisplayName", "Action Param", "ColumnsMode", "Fields", "JoinEntityName", "MJ: Entity Action Params", "JoinEntityRowForeignKey", "ActionParamID", 3, "ShowSaveButton", "ShowCancelButton", "EditMode", "RowsExtraFilter", "JoinEntityExtraFilter", "JoinEntityDisplayColumns", "NewRecordDefaultValues"], ["Name", "MJ: Entity Action Invocations", 3, "Visible", "Props"], ["RowsEntityName", "MJ: Entity Action Invocation Types", "RowsEntityDisplayField", "Name", "RowsEntityDataSource", "FullEntity", "RowsOrderBy", "Name", "RowsEntityDisplayName", "Type", "ColumnsMode", "Fields", "JoinEntityName", "MJ: Entity Action Invocations", "JoinEntityRowForeignKey", "InvocationTypeID", "CheckBoxValueMode", "RecordExists", 2, "height", "500px", "width", "800px", 3, "ShowSaveButton", "ShowCancelButton", "EditMode", "JoinEntityExtraFilter", "JoinEntityDisplayColumns", "NewRecordDefaultValues"], ["Name", "MJ: Entity Action Filters", 3, "Visible", "Props"], [3, "Params", "NewRecordValues", "AllowLoad", "ShowToolbar"]], template: function MJEntityActionFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJEntityActionFormComponentExtended, selectors: [["mj-custom-entity-action-extended-form"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 1, consts: [["form", "ngForm"], ["topArea", ""], [1, "record-form-container", 2, "height", "100%", "display", "flex", "flex-direction", "column"], [1, "record-form", 2, "display", "flex", "flex-direction", "column", "height", "100%", "overflow", "hidden"], [3, "Form"], [1, "record-form-group"], [3, "TabSelected", "ResizeContainer"], ["Name", "Details"], ["Entity", "MJ: Entity Actions", "Section", "details", 3, "record", "EditMode"], ["Name", "MJ: Entity Action Params", 3, "Visible", "Props"], ["RowsEntityName", "MJ: Action Params", "RowsEntityDisplayField", "Name", "RowsEntityDataSource", "FullEntity", "RowsOrderBy", "ID", "RowsEntityDisplayName", "Action Param", "ColumnsMode", "Fields", "JoinEntityName", "MJ: Entity Action Params", "JoinEntityRowForeignKey", "ActionParamID", 3, "ShowSaveButton", "ShowCancelButton", "EditMode", "RowsExtraFilter", "JoinEntityExtraFilter", "JoinEntityDisplayColumns", "NewRecordDefaultValues"], ["Name", "MJ: Entity Action Invocations", 3, "Visible", "Props"], ["RowsEntityName", "MJ: Entity Action Invocation Types", "RowsEntityDisplayField", "Name", "RowsEntityDataSource", "FullEntity", "RowsOrderBy", "Name", "RowsEntityDisplayName", "Type", "ColumnsMode", "Fields", "JoinEntityName", "MJ: Entity Action Invocations", "JoinEntityRowForeignKey", "InvocationTypeID", "CheckBoxValueMode", "RecordExists", 2, "height", "500px", "width", "800px", 3, "ShowSaveButton", "ShowCancelButton", "EditMode", "JoinEntityExtraFilter", "JoinEntityDisplayColumns", "NewRecordDefaultValues"], ["Name", "MJ: Entity Action Filters", 3, "Visible", "Props"], [3, "Params", "NewRecordValues", "AllowLoad", "ShowToolbar"]], template: function MJEntityActionFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
98
98
|
i0.ɵɵelementStart(0, "div", 2);
|
|
99
99
|
i0.ɵɵconditionalCreate(1, MJEntityActionFormComponentExtended_Conditional_1_Template, 22, 35, "form", 3);
|
|
100
100
|
i0.ɵɵelementEnd();
|
|
101
101
|
} if (rf & 2) {
|
|
102
102
|
i0.ɵɵadvance();
|
|
103
103
|
i0.ɵɵconditional(ctx.record ? 1 : -1);
|
|
104
|
-
} }, dependencies: [i1.ɵNgNoValidate, i1.NgControlStatusGroup, i1.NgForm, i2.JoinGridComponent, i3.MjFormToolbarComponent, i3.SectionLoaderComponent, i3.ExplorerEntityDataGridComponent, i4.MJTabStripComponent, i4.MJTabBodyComponent, i4.MJTabComponent], styles: [".k-pane[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin[_ngcontent-%COMP%] {\n margin: 10px;\n}\n\n\na[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin-bottom: 10px;\n}\n\n.k-splitter[_ngcontent-%COMP%] {\n border-width: 0px;\n}\n\n.record-form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row[_ngcontent-%COMP%] {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] > .form-card[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n\n\n@media (min-width: 1400px) {\n .form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n.collapsible-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body[_ngcontent-%COMP%] {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed[_ngcontent-%COMP%] {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n\n\n.form-card.related-entity[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n\n\n.form-card.search-hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n\n\n.section-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] .search-highlight[_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge.zero-rows[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n}"] }); }
|
|
104
|
+
} }, dependencies: [i1.ɵNgNoValidate, i1.NgControlStatusGroup, i1.NgForm, i2.JoinGridComponent, i3.MjFormToolbarComponent, i3.SectionLoaderComponent, i3.ExplorerEntityDataGridComponent, i4.MJTabStripComponent, i4.MJTabBodyComponent, i4.MJTabComponent], styles: [".k-pane[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin[_ngcontent-%COMP%] {\n margin: 10px;\n}\n\n\na[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin-bottom: 10px;\n}\n\n.k-splitter[_ngcontent-%COMP%] {\n border-width: 0px;\n}\n\n.record-form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row[_ngcontent-%COMP%] {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] > .form-card[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n\n\n@media (min-width: 1400px) {\n .form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n.collapsible-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body[_ngcontent-%COMP%] {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed[_ngcontent-%COMP%] {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n\n\n.form-card.related-entity[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n\n\n.form-card.search-hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n\n\n.section-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] .search-highlight[_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge.zero-rows[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n}", "\n\n[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.record-form-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0 !important;\n overflow: hidden;\n}"] }); }
|
|
105
105
|
};
|
|
106
106
|
MJEntityActionFormComponentExtended = __decorate([
|
|
107
107
|
RegisterClass(BaseFormComponent, 'MJ: Entity Actions')
|
|
@@ -109,7 +109,7 @@ MJEntityActionFormComponentExtended = __decorate([
|
|
|
109
109
|
export { MJEntityActionFormComponentExtended };
|
|
110
110
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJEntityActionFormComponentExtended, [{
|
|
111
111
|
type: Component,
|
|
112
|
-
args: [{ standalone: false, selector: 'mj-custom-entity-action-extended-form', template: "<div class=\"record-form-container\">\n @if (record) {\n <form class=\"record-form\" #form=\"ngForm\" >\n <mj-form-toolbar [Form]=\"this\"></mj-form-toolbar>\n <div #topArea class=\"record-form-group\">\n </div>\n <mj-tabstrip (TabSelected)=\"onTabSelect($event)\" (ResizeContainer)=\"InvokeManualResize()\">\n <mj-tab Name=\"Details\">\n Details\n </mj-tab>\n <mj-tab-body>\n <mj-form-section\n Entity=\"MJ: Entity Actions\"\n Section=\"details\"\n [record]=\"record\"\n [EditMode]=\"EditMode\">\n </mj-form-section>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Params\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 247}\">\n Params\n </mj-tab>\n <mj-tab-body>\n <mj-join-grid\n [ShowSaveButton]=\"false\"\n [ShowCancelButton]=\"false\"\n [EditMode]=\"GridEditMode()\"\n RowsEntityName=\"MJ: Action Params\"\n [RowsExtraFilter]=\"'ActionID=' + record.ActionID\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsOrderBy=\"ID\"\n RowsEntityDisplayName=\"Action Param\"\n ColumnsMode=\"Fields\"\n JoinEntityName=\"MJ: Entity Action Params\"\n JoinEntityRowForeignKey=\"ActionParamID\"\n [JoinEntityExtraFilter]=\"'EntityActionID=' + record.ID\"\n [JoinEntityDisplayColumns]=\"['ValueType', 'Value','Comments']\"\n [NewRecordDefaultValues]=\"{EntityActionID: record.ID}\"\n >\n </mj-join-grid>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Invocations\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 247}\">\n Invocations\n </mj-tab>\n <mj-tab-body>\n <mj-join-grid\n [ShowSaveButton]=\"false\"\n [ShowCancelButton]=\"false\"\n [EditMode]=\"GridEditMode()\"\n RowsEntityName=\"MJ: Entity Action Invocation Types\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsOrderBy=\"Name\"\n RowsEntityDisplayName=\"Type\"\n ColumnsMode=\"Fields\"\n JoinEntityName=\"MJ: Entity Action Invocations\"\n JoinEntityRowForeignKey=\"InvocationTypeID\"\n [JoinEntityExtraFilter]=\"'EntityActionID=' + record.ID\"\n [JoinEntityDisplayColumns]=\"['Status']\"\n CheckBoxValueMode=\"RecordExists\"\n [NewRecordDefaultValues]=\"{EntityActionID: record.ID}\"\n style=\"height: 500px; width: 800px;\"\n >\n </mj-join-grid>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Filters\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 248}\">\n Filters\n </mj-tab>\n <mj-tab-body>\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: Entity Action Filters')\"\n [NewRecordValues]=\"NewRecordValues('MJ: Entity Action Filters')\"\n [AllowLoad]=\"IsCurrentTab('MJ: Entity Action Filters')\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </mj-tab-body>\n </mj-tabstrip>\n </form>\n }\n</div>\n", styles: [".k-pane {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin {\n margin: 10px;\n}\n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n/* All field sections take full width */\n.form-panels-container > .form-card {\n width: 100%;\n}\n\n/* Related entity grid container - responsive layout */\n.form-panels-container .related-entity-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n/* Responsive multi-column layout for related entities on wider screens */\n@media (min-width: 1400px) {\n .form-panels-container .related-entity-grid {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header .collapse-icon {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-header {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-title i {\n color: var(--mj-brand-primary);\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls button:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls .section-search::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Search highlighting in section names */\n.collapsible-title h3 .search-highlight {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n/* Row count badge in section headers */\n.collapsible-title .row-count-badge {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: var(--mj-text-muted);\n}\n"] }]
|
|
112
|
+
args: [{ standalone: false, selector: 'mj-custom-entity-action-extended-form', template: "<div class=\"record-form-container\" style=\"height: 100%; display: flex; flex-direction: column;\">\n @if (record) {\n <form class=\"record-form\" #form=\"ngForm\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\n <mj-form-toolbar [Form]=\"this\"></mj-form-toolbar>\n <div #topArea class=\"record-form-group\">\n </div>\n <mj-tabstrip (TabSelected)=\"onTabSelect($event)\" (ResizeContainer)=\"InvokeManualResize()\">\n <mj-tab Name=\"Details\">\n Details\n </mj-tab>\n <mj-tab-body>\n <mj-form-section\n Entity=\"MJ: Entity Actions\"\n Section=\"details\"\n [record]=\"record\"\n [EditMode]=\"EditMode\">\n </mj-form-section>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Params\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 247}\">\n Params\n </mj-tab>\n <mj-tab-body>\n <mj-join-grid\n [ShowSaveButton]=\"false\"\n [ShowCancelButton]=\"false\"\n [EditMode]=\"GridEditMode()\"\n RowsEntityName=\"MJ: Action Params\"\n [RowsExtraFilter]=\"'ActionID=' + record.ActionID\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsOrderBy=\"ID\"\n RowsEntityDisplayName=\"Action Param\"\n ColumnsMode=\"Fields\"\n JoinEntityName=\"MJ: Entity Action Params\"\n JoinEntityRowForeignKey=\"ActionParamID\"\n [JoinEntityExtraFilter]=\"'EntityActionID=' + record.ID\"\n [JoinEntityDisplayColumns]=\"['ValueType', 'Value','Comments']\"\n [NewRecordDefaultValues]=\"{EntityActionID: record.ID}\"\n >\n </mj-join-grid>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Invocations\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 247}\">\n Invocations\n </mj-tab>\n <mj-tab-body>\n <mj-join-grid\n [ShowSaveButton]=\"false\"\n [ShowCancelButton]=\"false\"\n [EditMode]=\"GridEditMode()\"\n RowsEntityName=\"MJ: Entity Action Invocation Types\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsOrderBy=\"Name\"\n RowsEntityDisplayName=\"Type\"\n ColumnsMode=\"Fields\"\n JoinEntityName=\"MJ: Entity Action Invocations\"\n JoinEntityRowForeignKey=\"InvocationTypeID\"\n [JoinEntityExtraFilter]=\"'EntityActionID=' + record.ID\"\n [JoinEntityDisplayColumns]=\"['Status']\"\n CheckBoxValueMode=\"RecordExists\"\n [NewRecordDefaultValues]=\"{EntityActionID: record.ID}\"\n style=\"height: 500px; width: 800px;\"\n >\n </mj-join-grid>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Filters\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 248}\">\n Filters\n </mj-tab>\n <mj-tab-body>\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: Entity Action Filters')\"\n [NewRecordValues]=\"NewRecordValues('MJ: Entity Action Filters')\"\n [AllowLoad]=\"IsCurrentTab('MJ: Entity Action Filters')\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </mj-tab-body>\n </mj-tabstrip>\n </form>\n }\n</div>\n", styles: [".k-pane {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin {\n margin: 10px;\n}\n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n/* All field sections take full width */\n.form-panels-container > .form-card {\n width: 100%;\n}\n\n/* Related entity grid container - responsive layout */\n.form-panels-container .related-entity-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n/* Responsive multi-column layout for related entities on wider screens */\n@media (min-width: 1400px) {\n .form-panels-container .related-entity-grid {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header .collapse-icon {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-header {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-title i {\n color: var(--mj-brand-primary);\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls button:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls .section-search::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Search highlighting in section names */\n.collapsible-title h3 .search-highlight {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n/* Row count badge in section headers */\n.collapsible-title .row-count-badge {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: var(--mj-text-muted);\n}\n", "/* EntityAction Form - Scrolling Layout Fixes */\n:host {\n display: block;\n height: 100%;\n}\n\n.record-form-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.record-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0 !important;\n overflow: hidden;\n}\n"] }]
|
|
113
113
|
}], null, null); })();
|
|
114
114
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJEntityActionFormComponentExtended, { className: "MJEntityActionFormComponentExtended", filePath: "src/lib/custom/EntityActions/entityaction.form.component.ts", lineNumber: 16 }); })();
|
|
115
115
|
//# sourceMappingURL=entityaction.form.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityaction.form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/EntityActions/entityaction.form.component.ts","../../../../src/lib/custom/EntityActions/entityaction.form.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAC;;;;;;;;;;;;;ICHhH,
|
|
1
|
+
{"version":3,"file":"entityaction.form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/EntityActions/entityaction.form.component.ts","../../../../src/lib/custom/EntityActions/entityaction.form.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uEAAuE,CAAC;;;;;;;;;;;;;ICHhH,kCAAwH;IAEtH,AADA,qCAAiD,gBAE3C;IACN,sCAA2F;IAAzC,AAArC,8NAAe,0BAAmB,KAAC,mNAAqB,2BAAoB,KAAC;IACxF,iCAAuB;IACrB,yBACF;IAAA,iBAAS;IACT,mCAAa;IACX,qCAKkB;IACpB,iBAAc;IACd,kCAEwC;IACtC,yBACF;IAAA,iBAAS;IACT,oCAAa;IACX,oCAiBe;IACjB,iBAAc;IACd,mCAEwC;IACtC,8BACF;IAAA,iBAAS;IACT,oCAAa;IACX,oCAkBe;IACjB,iBAAc;IACd,mCAEwC;IACtC,0BACF;IAAA,iBAAS;IACT,oCAAa;IACX,oDAK+B;IAGrC,AADE,AADE,iBAAc,EACF,EACT;;;IAhFY,eAAa;IAAb,6BAAa;IAWxB,eAAiB;IACjB,AADA,sCAAiB,6BACI;IAIvB,cAA0B;IAC1B,AADA,+CAA0B,sCACW;IAKnC,eAAwB;IAcxB,AADgB,AADA,AARA,AAFhB,AADA,AADA,sCAAwB,2BACE,mCACC,yDAEsC,+DAQM,yDACO,yEACxB;IAKxD,cAA0B;IAC1B,AADA,+CAA0B,sCACW;IAKnC,eAAwB;IAcxB,AAFgB,AADA,AAThB,AADA,AADA,sCAAwB,2BACE,mCACC,+DAS4C,yDAChB,yEAED;IAMxD,cAA0B;IAC1B,AADA,+CAA0B,sCACW;IAKnC,eAA+E;IAG/E,AADA,AADA,AADA,oGAA+E,wEACf,+DACT,sBAClC;;ADhE1B,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,2BAA2B;IAA7E;;QAEK,kBAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACtC,eAAU,GAAkB,IAAI,CAAC;KAuB5C;IArBG;;OAEG;IACI,kBAAkB,CAAC,KAAc;QACpC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,CAAW;QAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC;IACvC,CAAC;gUAzBQ,mCAAmC,yBAAnC,mCAAmC;oEAAnC,mCAAmC;YCfhD,8BAAgG;YAC9F,wGAAc;YAoFhB,iBAAM;;YApFJ,cAmFC;YAnFD,qCAmFC;;;ADrEU,mCAAmC;IAP/C,aAAa,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;GAO1C,mCAAmC,CA0B/C;;iFA1BY,mCAAmC;cAN/C,SAAS;6BACI,KAAK,YACL,uCAAuC;;kFAIxC,mCAAmC","sourcesContent":["import { Component, inject } from '@angular/core';\nimport { MJEntityActionEntity } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseFormComponent } from '@memberjunction/ng-base-forms';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { MJEntityActionFormComponent } from '../../generated/Entities/MJEntityAction/mjentityaction.form.component';\nimport { TabEvent } from '@memberjunction/ng-tabstrip';\n\n@RegisterClass(BaseFormComponent, 'MJ: Entity Actions')\n@Component({\n standalone: false,\n selector: 'mj-custom-entity-action-extended-form',\n templateUrl: './entityaction.form.component.html',\n styleUrls: ['../../../shared/form-styles.css', './entityaction.form.component.css']\n})\nexport class MJEntityActionFormComponentExtended extends MJEntityActionFormComponent {\n public record!: MJEntityActionEntity;\n private sharedService = inject(SharedService);\n private currentTab: string | null = null;\n\n /**\n * Convenience method to resize application container when required\n */\n public InvokeManualResize(delay?: number) {\n this.sharedService.InvokeManualResize(delay);\n }\n\n /**\n * Handle tab selection events\n */\n public onTabSelect(e: TabEvent) {\n this.currentTab = e.tab?.Name || null;\n this.sharedService.InvokeManualResize();\n }\n\n /**\n * Check if a tab is currently active\n */\n public IsCurrentTab(tabName: string): boolean {\n return this.currentTab === tabName;\n }\n}\n","<div class=\"record-form-container\" style=\"height: 100%; display: flex; flex-direction: column;\">\n @if (record) {\n <form class=\"record-form\" #form=\"ngForm\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\n <mj-form-toolbar [Form]=\"this\"></mj-form-toolbar>\n <div #topArea class=\"record-form-group\">\n </div>\n <mj-tabstrip (TabSelected)=\"onTabSelect($event)\" (ResizeContainer)=\"InvokeManualResize()\">\n <mj-tab Name=\"Details\">\n Details\n </mj-tab>\n <mj-tab-body>\n <mj-form-section\n Entity=\"MJ: Entity Actions\"\n Section=\"details\"\n [record]=\"record\"\n [EditMode]=\"EditMode\">\n </mj-form-section>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Params\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 247}\">\n Params\n </mj-tab>\n <mj-tab-body>\n <mj-join-grid\n [ShowSaveButton]=\"false\"\n [ShowCancelButton]=\"false\"\n [EditMode]=\"GridEditMode()\"\n RowsEntityName=\"MJ: Action Params\"\n [RowsExtraFilter]=\"'ActionID=' + record.ActionID\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsOrderBy=\"ID\"\n RowsEntityDisplayName=\"Action Param\"\n ColumnsMode=\"Fields\"\n JoinEntityName=\"MJ: Entity Action Params\"\n JoinEntityRowForeignKey=\"ActionParamID\"\n [JoinEntityExtraFilter]=\"'EntityActionID=' + record.ID\"\n [JoinEntityDisplayColumns]=\"['ValueType', 'Value','Comments']\"\n [NewRecordDefaultValues]=\"{EntityActionID: record.ID}\"\n >\n </mj-join-grid>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Invocations\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 247}\">\n Invocations\n </mj-tab>\n <mj-tab-body>\n <mj-join-grid\n [ShowSaveButton]=\"false\"\n [ShowCancelButton]=\"false\"\n [EditMode]=\"GridEditMode()\"\n RowsEntityName=\"MJ: Entity Action Invocation Types\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsOrderBy=\"Name\"\n RowsEntityDisplayName=\"Type\"\n ColumnsMode=\"Fields\"\n JoinEntityName=\"MJ: Entity Action Invocations\"\n JoinEntityRowForeignKey=\"InvocationTypeID\"\n [JoinEntityExtraFilter]=\"'EntityActionID=' + record.ID\"\n [JoinEntityDisplayColumns]=\"['Status']\"\n CheckBoxValueMode=\"RecordExists\"\n [NewRecordDefaultValues]=\"{EntityActionID: record.ID}\"\n style=\"height: 500px; width: 800px;\"\n >\n </mj-join-grid>\n </mj-tab-body>\n <mj-tab Name=\"MJ: Entity Action Filters\"\n [Visible]=\"record.IsSaved\"\n [Props]=\"{EntityRelationshipID: 248}\">\n Filters\n </mj-tab>\n <mj-tab-body>\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: Entity Action Filters')\"\n [NewRecordValues]=\"NewRecordValues('MJ: Entity Action Filters')\"\n [AllowLoad]=\"IsCurrentTab('MJ: Entity Action Filters')\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </mj-tab-body>\n </mj-tabstrip>\n </form>\n }\n</div>\n"]}
|