@mj-biz-apps/contracts-ng 0.1.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/LICENSE +183 -0
- package/dist/lib/data/entity-names.d.ts +29 -0
- package/dist/lib/data/entity-names.d.ts.map +1 -0
- package/dist/lib/data/entity-names.js +29 -0
- package/dist/lib/data/entity-names.js.map +1 -0
- package/dist/lib/data/provider.d.ts +44 -0
- package/dist/lib/data/provider.d.ts.map +1 -0
- package/dist/lib/data/provider.js +48 -0
- package/dist/lib/data/provider.js.map +1 -0
- package/dist/lib/directives/fk-navigate.directive.d.ts +63 -0
- package/dist/lib/directives/fk-navigate.directive.d.ts.map +1 -0
- package/dist/lib/directives/fk-navigate.directive.js +99 -0
- package/dist/lib/directives/fk-navigate.directive.js.map +1 -0
- package/dist/lib/form-panels/contract.panels.d.ts +124 -0
- package/dist/lib/form-panels/contract.panels.d.ts.map +1 -0
- package/dist/lib/form-panels/contract.panels.js +1167 -0
- package/dist/lib/form-panels/contract.panels.js.map +1 -0
- package/dist/lib/form-panels/organization.panels.d.ts +23 -0
- package/dist/lib/form-panels/organization.panels.d.ts.map +1 -0
- package/dist/lib/form-panels/organization.panels.js +118 -0
- package/dist/lib/form-panels/organization.panels.js.map +1 -0
- package/dist/lib/form-panels/record-files.panel.d.ts +151 -0
- package/dist/lib/form-panels/record-files.panel.d.ts.map +1 -0
- package/dist/lib/form-panels/record-files.panel.js +1046 -0
- package/dist/lib/form-panels/record-files.panel.js.map +1 -0
- package/dist/lib/form-panels/supersede.panel.d.ts +68 -0
- package/dist/lib/form-panels/supersede.panel.d.ts.map +1 -0
- package/dist/lib/form-panels/supersede.panel.js +415 -0
- package/dist/lib/form-panels/supersede.panel.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContract/mjbizappscontractscontract.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContract/mjbizappscontractscontract.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContract/mjbizappscontractscontract.form.component.js +196 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContract/mjbizappscontractscontract.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplate/mjbizappscontractscontracttemplate.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplate/mjbizappscontractscontracttemplate.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplate/mjbizappscontractscontracttemplate.form.component.js +120 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplate/mjbizappscontractscontracttemplate.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateModification/mjbizappscontractscontracttemplatemodification.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateModification/mjbizappscontractscontracttemplatemodification.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateModification/mjbizappscontractscontracttemplatemodification.form.component.js +79 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateModification/mjbizappscontractscontracttemplatemodification.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateProvision/mjbizappscontractscontracttemplateprovision.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateProvision/mjbizappscontractscontracttemplateprovision.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateProvision/mjbizappscontractscontracttemplateprovision.form.component.js +79 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateProvision/mjbizappscontractscontracttemplateprovision.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateType/mjbizappscontractscontracttemplatetype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateType/mjbizappscontractscontracttemplatetype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateType/mjbizappscontractscontracttemplatetype.form.component.js +86 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractTemplateType/mjbizappscontractscontracttemplatetype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractType/mjbizappscontractscontracttype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractType/mjbizappscontractscontracttype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractType/mjbizappscontractscontracttype.form.component.js +100 -0
- package/dist/lib/generated/Entities/mjBizAppsContractsContractType/mjbizappscontractscontracttype.form.component.js.map +1 -0
- package/dist/lib/generated/generated-forms.module.d.ts +23 -0
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -0
- package/dist/lib/generated/generated-forms.module.js +78 -0
- package/dist/lib/generated/generated-forms.module.js.map +1 -0
- package/dist/lib/pages/configuration.page.d.ts +83 -0
- package/dist/lib/pages/configuration.page.d.ts.map +1 -0
- package/dist/lib/pages/configuration.page.js +240 -0
- package/dist/lib/pages/configuration.page.js.map +1 -0
- package/dist/lib/pages/contract-grid.page.d.ts +169 -0
- package/dist/lib/pages/contract-grid.page.d.ts.map +1 -0
- package/dist/lib/pages/contract-grid.page.js +487 -0
- package/dist/lib/pages/contract-grid.page.js.map +1 -0
- package/dist/lib/pages/contracts-dashboard.page.d.ts +56 -0
- package/dist/lib/pages/contracts-dashboard.page.d.ts.map +1 -0
- package/dist/lib/pages/contracts-dashboard.page.js +215 -0
- package/dist/lib/pages/contracts-dashboard.page.js.map +1 -0
- package/dist/lib/pages/modifications.page.d.ts +96 -0
- package/dist/lib/pages/modifications.page.d.ts.map +1 -0
- package/dist/lib/pages/modifications.page.js +243 -0
- package/dist/lib/pages/modifications.page.js.map +1 -0
- package/dist/lib/pages/templates.page.d.ts +120 -0
- package/dist/lib/pages/templates.page.d.ts.map +1 -0
- package/dist/lib/pages/templates.page.js +258 -0
- package/dist/lib/pages/templates.page.js.map +1 -0
- package/dist/lib/sections/contracts-sections.component.d.ts +112 -0
- package/dist/lib/sections/contracts-sections.component.d.ts.map +1 -0
- package/dist/lib/sections/contracts-sections.component.js +412 -0
- package/dist/lib/sections/contracts-sections.component.js.map +1 -0
- package/dist/lib/sections/section-nav.model.d.ts +78 -0
- package/dist/lib/sections/section-nav.model.d.ts.map +1 -0
- package/dist/lib/sections/section-nav.model.js +110 -0
- package/dist/lib/sections/section-nav.model.js.map +1 -0
- package/dist/lib/sections/section-shell.component.d.ts +73 -0
- package/dist/lib/sections/section-shell.component.d.ts.map +1 -0
- package/dist/lib/sections/section-shell.component.js +170 -0
- package/dist/lib/sections/section-shell.component.js.map +1 -0
- package/dist/public-api.d.ts +44 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +105 -0
- package/dist/public-api.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Configuration — the small vocabularies every contract inherits (item 6).
|
|
3
|
+
*
|
|
4
|
+
* MOSTLY FREE, AND THAT IS THE DESIGN. The generated entity forms already cover creating and editing a
|
|
5
|
+
* contract type or a template type; what was missing was a place to FIND them. So these pages are
|
|
6
|
+
* grids over the generated base views plus one sentence of context each — no custom form, no bespoke
|
|
7
|
+
* editor. Item 6's "done" is "confirm each generated form opens clean", not "build CRUD".
|
|
8
|
+
*
|
|
9
|
+
* The sentences matter more than they look. `RequiresExecutedDocument` is the only rule column in the
|
|
10
|
+
* whole app, and a business user retiring a type by flipping `Status` needs to know old contracts keep
|
|
11
|
+
* resolving. Neither fact is visible from a grid of columns.
|
|
12
|
+
*
|
|
13
|
+
* @module @mj-biz-apps/contracts-ng
|
|
14
|
+
*/
|
|
15
|
+
import { ChangeDetectorRef, Component, ViewEncapsulation, inject } from '@angular/core';
|
|
16
|
+
import { CommonModule } from '@angular/common';
|
|
17
|
+
import { NavigationService } from '@memberjunction/ng-shared';
|
|
18
|
+
import { BaseFormsModule } from '@memberjunction/ng-base-forms';
|
|
19
|
+
import { MJC_ENTITIES } from '../data/entity-names';
|
|
20
|
+
import { MJCFkNavigateDirective } from '../directives/fk-navigate.directive';
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
import * as i1 from "@memberjunction/ng-base-forms";
|
|
23
|
+
/** Shared skeleton: one intro sentence, one stock grid. */
|
|
24
|
+
class MJCConfigPageBase {
|
|
25
|
+
cdr = inject(ChangeDetectorRef);
|
|
26
|
+
navigation = inject(NavigationService);
|
|
27
|
+
Params = null;
|
|
28
|
+
/**
|
|
29
|
+
* Toolbar affordances that actually work, and one that does not.
|
|
30
|
+
*
|
|
31
|
+
* ⚠ `showFilterToggle` IS A NO-OP, and this comment used to claim the opposite. It is declared on
|
|
32
|
+
* `GridToolbarConfig` (`grid-types.ts:249`) and documented in the entity-viewer README, and it is
|
|
33
|
+
* **read nowhere in MJ** — no template branch renders a filter button. Three sibling hooks are dead
|
|
34
|
+
* the same way: the `AllowColumnFilters` input stores `_allowColumnFilters` and nothing reads it,
|
|
35
|
+
* `_filterState` is declared and never touched, and `defaultColDef.filter` is hardcoded `false`, so
|
|
36
|
+
* AG Grid's per-column filters are off with no input to turn them on. It is left set to `true` here
|
|
37
|
+
* because it costs nothing and is the flag to keep passing if MJ ever wires it up.
|
|
38
|
+
*
|
|
39
|
+
* So the ONLY filtering this page has beyond the pills is `showSearch` — which sets AG Grid's
|
|
40
|
+
* `quickFilterText`, a client-side substring match over the rows already loaded. It is not
|
|
41
|
+
* structured and not server-side. Filtering by date range / category / derived State needs a real
|
|
42
|
+
* filter popover (see `design-docs/ui-design/mockups-v2/renewal-watchlist.html`), which is ours to
|
|
43
|
+
* build; the pills stay regardless, because they encode the QUESTIONS people ask rather than
|
|
44
|
+
* predicates a user would assemble by hand.
|
|
45
|
+
*/
|
|
46
|
+
GridToolbar = {
|
|
47
|
+
showSearch: true,
|
|
48
|
+
showFilterToggle: true,
|
|
49
|
+
showColumnChooser: true,
|
|
50
|
+
showRefresh: true,
|
|
51
|
+
showExport: true,
|
|
52
|
+
showRowCount: true,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Open the double-clicked record.
|
|
56
|
+
*
|
|
57
|
+
* THE GRID DOES NOT NAVIGATE ITSELF. `NavigateOnDoubleClick` only controls whether it EMITS
|
|
58
|
+
* `Navigate`; acting on it is the HOST's job. Without this, a double-click merely selected the row
|
|
59
|
+
* — measured in a real browser, where it looked exactly like the grid being broken. Explorer's own
|
|
60
|
+
* host wires this for generated forms; a page hosting the grid inside a BaseResourceComponent must
|
|
61
|
+
* do it itself.
|
|
62
|
+
*/
|
|
63
|
+
OnNavigate(event) {
|
|
64
|
+
if (!event?.EntityName)
|
|
65
|
+
return;
|
|
66
|
+
if (event.Kind === 'record' && event.PrimaryKey) {
|
|
67
|
+
this.navigation.OpenEntityRecord(event.EntityName, event.PrimaryKey);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (event.Kind === 'new-record') {
|
|
71
|
+
// TWO kinds, and missing this one meant the toolbar's New button did NOTHING on every grid
|
|
72
|
+
// page — found in the browser, after the double-click bug had already taught me the same
|
|
73
|
+
// lesson about this component. Handling only 'record' silently dropped it.
|
|
74
|
+
//
|
|
75
|
+
// ⚠ `event.DefaultValues` is DISCARDED here, and it has nowhere to go: NavigationOptions
|
|
76
|
+
// carries no default-values field, so `OpenNewEntityRecord` cannot pre-populate. Harmless on
|
|
77
|
+
// these pages (nothing sets NewRecordValues), but it means the Organization agreements
|
|
78
|
+
// panel's pre-linking to the customer will NOT survive a New click routed through here —
|
|
79
|
+
// that panel needs its own affordance, or MJ needs the option. Written down rather than
|
|
80
|
+
// discovered later as "New forgets the customer".
|
|
81
|
+
this.navigation.OpenNewEntityRecord(event.EntityName);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
get orderBy() {
|
|
85
|
+
return 'Name ASC';
|
|
86
|
+
}
|
|
87
|
+
ngOnInit() {
|
|
88
|
+
this.Params = { EntityName: this.entityName, OrderBy: this.orderBy };
|
|
89
|
+
this.cdr.detectChanges();
|
|
90
|
+
}
|
|
91
|
+
static ɵfac = function MJCConfigPageBase_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MJCConfigPageBase)(); };
|
|
92
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCConfigPageBase, selectors: [["ng-component"]], decls: 0, vars: 0, template: function MJCConfigPageBase_Template(rf, ctx) { }, encapsulation: 2 });
|
|
93
|
+
}
|
|
94
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJCConfigPageBase, [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{ template: '' }]
|
|
97
|
+
}], null, null); })();
|
|
98
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCConfigPageBase, { className: "MJCConfigPageBase", filePath: "lib/pages/configuration.page.ts", lineNumber: 27 }); })();
|
|
99
|
+
const CONFIG_TEMPLATE = `
|
|
100
|
+
<div class="mjc-page mjc-page--grid">
|
|
101
|
+
<p class="mjc-page__intro"><ng-content /></p>
|
|
102
|
+
<div class="mjc-grid-fill">
|
|
103
|
+
<mj-explorer-entity-data-grid mjcFkNavigate [Params]="Params" [ShowToolbar]="true" [ToolbarConfig]="GridToolbar" [NavigateOnDoubleClick]="true"
|
|
104
|
+
(Navigate)="OnNavigate($event)" />
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
`;
|
|
108
|
+
export class MJCContractTypesPageComponent extends MJCConfigPageBase {
|
|
109
|
+
get entityName() {
|
|
110
|
+
return MJC_ENTITIES.ContractType;
|
|
111
|
+
}
|
|
112
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵMJCContractTypesPageComponent_BaseFactory; return function MJCContractTypesPageComponent_Factory(__ngFactoryType__) { return (ɵMJCContractTypesPageComponent_BaseFactory || (ɵMJCContractTypesPageComponent_BaseFactory = i0.ɵɵgetInheritedFactory(MJCContractTypesPageComponent)))(__ngFactoryType__ || MJCContractTypesPageComponent); }; })();
|
|
113
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCContractTypesPageComponent, selectors: [["mjc-contract-types-page"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 28, vars: 4, consts: [[1, "mjc-page", "mjc-page--grid"], [1, "mjc-page__intro"], [1, "mjc-grid-fill"], ["mjcFkNavigate", "", 3, "Navigate", "Params", "ShowToolbar", "ToolbarConfig", "NavigateOnDoubleClick"]], template: function MJCContractTypesPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
|
|
115
|
+
i0.ɵɵtext(2, " What kind of document a contract is. Two columns here carry rules, and the rest is labelling. ");
|
|
116
|
+
i0.ɵɵelementStart(3, "strong");
|
|
117
|
+
i0.ɵɵtext(4, "Requires Executed Document");
|
|
118
|
+
i0.ɵɵelementEnd();
|
|
119
|
+
i0.ɵɵtext(5, " is what makes a contract appear on the ");
|
|
120
|
+
i0.ɵɵelementStart(6, "em");
|
|
121
|
+
i0.ɵɵtext(7, "Awaiting documents");
|
|
122
|
+
i0.ɵɵelementEnd();
|
|
123
|
+
i0.ɵɵtext(8, " worklist, so a Payment Link \u2014 where nobody signs anything \u2014 never reports as missing paper. ");
|
|
124
|
+
i0.ɵɵelementStart(9, "strong");
|
|
125
|
+
i0.ɵɵtext(10, "Parent status requirement");
|
|
126
|
+
i0.ɵɵelementEnd();
|
|
127
|
+
i0.ɵɵtext(11, " decides whether a contract of this type must name the agreement it changes (");
|
|
128
|
+
i0.ɵɵelementStart(12, "em");
|
|
129
|
+
i0.ɵɵtext(13, "Required");
|
|
130
|
+
i0.ɵɵelementEnd();
|
|
131
|
+
i0.ɵɵtext(14, " \u2014 a Change Order amends something, so it has to say what), must not (");
|
|
132
|
+
i0.ɵɵelementStart(15, "em");
|
|
133
|
+
i0.ɵɵtext(16, "Prohibited");
|
|
134
|
+
i0.ɵɵelementEnd();
|
|
135
|
+
i0.ɵɵtext(17, " \u2014 it stands on its own), or may do either when left blank. Both are enforced when a contract is saved, and neither is decided from the type's NAME. ");
|
|
136
|
+
i0.ɵɵelementEnd();
|
|
137
|
+
i0.ɵɵelementStart(18, "p", 1);
|
|
138
|
+
i0.ɵɵtext(19, " Retire a type by setting its ");
|
|
139
|
+
i0.ɵɵelementStart(20, "strong");
|
|
140
|
+
i0.ɵɵtext(21, "Status");
|
|
141
|
+
i0.ɵɵelementEnd();
|
|
142
|
+
i0.ɵɵtext(22, " to ");
|
|
143
|
+
i0.ɵɵelementStart(23, "em");
|
|
144
|
+
i0.ɵɵtext(24, "Inactive");
|
|
145
|
+
i0.ɵɵelementEnd();
|
|
146
|
+
i0.ɵɵtext(25, " rather than deleting it: it stops being offered for new contracts, and every contract already referencing it keeps resolving. ");
|
|
147
|
+
i0.ɵɵelementEnd();
|
|
148
|
+
i0.ɵɵelementStart(26, "div", 2)(27, "mj-explorer-entity-data-grid", 3);
|
|
149
|
+
i0.ɵɵlistener("Navigate", function MJCContractTypesPageComponent_Template_mj_explorer_entity_data_grid_Navigate_27_listener($event) { return ctx.OnNavigate($event); });
|
|
150
|
+
i0.ɵɵelementEnd()()();
|
|
151
|
+
} if (rf & 2) {
|
|
152
|
+
i0.ɵɵadvance(27);
|
|
153
|
+
i0.ɵɵproperty("Params", ctx.Params)("ShowToolbar", true)("ToolbarConfig", ctx.GridToolbar)("NavigateOnDoubleClick", true);
|
|
154
|
+
} }, dependencies: [CommonModule, BaseFormsModule, i1.ExplorerEntityDataGridComponent, MJCFkNavigateDirective], encapsulation: 2 });
|
|
155
|
+
}
|
|
156
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJCContractTypesPageComponent, [{
|
|
157
|
+
type: Component,
|
|
158
|
+
args: [{
|
|
159
|
+
selector: 'mjc-contract-types-page',
|
|
160
|
+
standalone: true,
|
|
161
|
+
encapsulation: ViewEncapsulation.None,
|
|
162
|
+
imports: [CommonModule, BaseFormsModule, MJCFkNavigateDirective],
|
|
163
|
+
template: `
|
|
164
|
+
<div class="mjc-page mjc-page--grid">
|
|
165
|
+
<p class="mjc-page__intro">
|
|
166
|
+
What kind of document a contract is. Two columns here carry rules, and the rest is
|
|
167
|
+
labelling. <strong>Requires Executed Document</strong> is what makes a contract appear on
|
|
168
|
+
the <em>Awaiting documents</em> worklist, so a Payment Link — where nobody signs anything
|
|
169
|
+
— never reports as missing paper. <strong>Parent status requirement</strong> decides
|
|
170
|
+
whether a contract of this type must name the agreement it changes
|
|
171
|
+
(<em>Required</em> — a Change Order amends something, so it has to say what), must not
|
|
172
|
+
(<em>Prohibited</em> — it stands on its own), or may do either when left blank. Both are
|
|
173
|
+
enforced when a contract is saved, and neither is decided from the type's NAME.
|
|
174
|
+
</p>
|
|
175
|
+
<p class="mjc-page__intro">
|
|
176
|
+
Retire a type by setting its <strong>Status</strong> to <em>Inactive</em> rather than
|
|
177
|
+
deleting it: it stops being offered for new contracts, and every contract already
|
|
178
|
+
referencing it keeps resolving.
|
|
179
|
+
</p>
|
|
180
|
+
<div class="mjc-grid-fill">
|
|
181
|
+
<mj-explorer-entity-data-grid mjcFkNavigate [Params]="Params" [ShowToolbar]="true" [ToolbarConfig]="GridToolbar" [NavigateOnDoubleClick]="true"
|
|
182
|
+
(Navigate)="OnNavigate($event)" />
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
`,
|
|
186
|
+
}]
|
|
187
|
+
}], null, null); })();
|
|
188
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractTypesPageComponent, { className: "MJCContractTypesPageComponent", filePath: "lib/pages/configuration.page.ts", lineNumber: 146 }); })();
|
|
189
|
+
export class MJCTemplateTypesPageComponent extends MJCConfigPageBase {
|
|
190
|
+
get entityName() {
|
|
191
|
+
return MJC_ENTITIES.ContractTemplateType;
|
|
192
|
+
}
|
|
193
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵMJCTemplateTypesPageComponent_BaseFactory; return function MJCTemplateTypesPageComponent_Factory(__ngFactoryType__) { return (ɵMJCTemplateTypesPageComponent_BaseFactory || (ɵMJCTemplateTypesPageComponent_BaseFactory = i0.ɵɵgetInheritedFactory(MJCTemplateTypesPageComponent)))(__ngFactoryType__ || MJCTemplateTypesPageComponent); }; })();
|
|
194
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCTemplateTypesPageComponent, selectors: [["mjc-template-types-page"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 4, consts: [[1, "mjc-page", "mjc-page--grid"], [1, "mjc-page__intro"], [1, "mjc-grid-fill"], ["mjcFkNavigate", "", 3, "Navigate", "Params", "ShowToolbar", "ToolbarConfig", "NavigateOnDoubleClick"]], template: function MJCTemplateTypesPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
|
|
196
|
+
i0.ɵɵtext(2, " What kind of standard-terms document a version belongs to. Two rows today, and only one has a real template behind it: ");
|
|
197
|
+
i0.ɵɵelementStart(3, "strong");
|
|
198
|
+
i0.ɵɵtext(4, "Master Agreement");
|
|
199
|
+
i0.ɵɵelementEnd();
|
|
200
|
+
i0.ɵɵtext(5, " is the versioned, numbered-provision document every Order Form incorporates. ");
|
|
201
|
+
i0.ɵɵelementStart(6, "strong");
|
|
202
|
+
i0.ɵɵtext(7, "Statement of Work");
|
|
203
|
+
i0.ɵɵelementEnd();
|
|
204
|
+
i0.ɵɵtext(8, " exists so the type is available \u2014 the business has standard SOW language but does not version it, so no template is registered against it. That absence is a fact about the business, not a gap in the data. ");
|
|
205
|
+
i0.ɵɵelementEnd();
|
|
206
|
+
i0.ɵɵelementStart(9, "div", 2)(10, "mj-explorer-entity-data-grid", 3);
|
|
207
|
+
i0.ɵɵlistener("Navigate", function MJCTemplateTypesPageComponent_Template_mj_explorer_entity_data_grid_Navigate_10_listener($event) { return ctx.OnNavigate($event); });
|
|
208
|
+
i0.ɵɵelementEnd()()();
|
|
209
|
+
} if (rf & 2) {
|
|
210
|
+
i0.ɵɵadvance(10);
|
|
211
|
+
i0.ɵɵproperty("Params", ctx.Params)("ShowToolbar", true)("ToolbarConfig", ctx.GridToolbar)("NavigateOnDoubleClick", true);
|
|
212
|
+
} }, dependencies: [CommonModule, BaseFormsModule, i1.ExplorerEntityDataGridComponent, MJCFkNavigateDirective], encapsulation: 2 });
|
|
213
|
+
}
|
|
214
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJCTemplateTypesPageComponent, [{
|
|
215
|
+
type: Component,
|
|
216
|
+
args: [{
|
|
217
|
+
selector: 'mjc-template-types-page',
|
|
218
|
+
standalone: true,
|
|
219
|
+
encapsulation: ViewEncapsulation.None,
|
|
220
|
+
imports: [CommonModule, BaseFormsModule, MJCFkNavigateDirective],
|
|
221
|
+
template: `
|
|
222
|
+
<div class="mjc-page mjc-page--grid">
|
|
223
|
+
<p class="mjc-page__intro">
|
|
224
|
+
What kind of standard-terms document a version belongs to. Two rows today, and only one
|
|
225
|
+
has a real template behind it: <strong>Master Agreement</strong> is the versioned,
|
|
226
|
+
numbered-provision document every Order Form incorporates.
|
|
227
|
+
<strong>Statement of Work</strong> exists so the type is available — the business has
|
|
228
|
+
standard SOW language but does not version it, so no template is registered against it.
|
|
229
|
+
That absence is a fact about the business, not a gap in the data.
|
|
230
|
+
</p>
|
|
231
|
+
<div class="mjc-grid-fill">
|
|
232
|
+
<mj-explorer-entity-data-grid mjcFkNavigate [Params]="Params" [ShowToolbar]="true" [ToolbarConfig]="GridToolbar" [NavigateOnDoubleClick]="true"
|
|
233
|
+
(Navigate)="OnNavigate($event)" />
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
`,
|
|
237
|
+
}]
|
|
238
|
+
}], null, null); })();
|
|
239
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCTemplateTypesPageComponent, { className: "MJCTemplateTypesPageComponent", filePath: "lib/pages/configuration.page.ts", lineNumber: 174 }); })();
|
|
240
|
+
//# sourceMappingURL=configuration.page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.page.js","sourceRoot":"","sources":["../../../src/lib/pages/configuration.page.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The contract list, and the two worklists that are the same list with a filter.
|
|
3
|
+
*
|
|
4
|
+
* ONE BASE, THREE PAGES. "All contracts", "Renewals & expiry" and "Awaiting documents" are the same
|
|
5
|
+
* grid over the same view with different `ExtraFilter`s and different default pills. Three separate
|
|
6
|
+
* implementations would be three places to fix a column, and they would drift — this is exactly the
|
|
7
|
+
* 2-to-4-locations-of-similar-logic case the workspace guide says to unify, parameterised by context
|
|
8
|
+
* (Template Method: shared skeleton, overridden hooks).
|
|
9
|
+
*
|
|
10
|
+
* THE GRID IS MJ'S OWN (`mj-explorer-entity-data-grid`), not a bespoke table. D-21 ruled the watchlist
|
|
11
|
+
* deliberately thin — stock grid plus filter pills, no saved views — and D-23 requires selecting the
|
|
12
|
+
* BASE VIEW so foreign keys render as names. Both are satisfied by construction here: `vwContracts` is
|
|
13
|
+
* what the entity's `BaseView` resolves to, and it already carries `ContractType`, `Company`,
|
|
14
|
+
* `CustomerOrganization`, `ContractTemplate` and `ParentContract` as joined name columns, plus the six
|
|
15
|
+
* derived columns from the layered wrapper. Showing a UUID would take extra work.
|
|
16
|
+
*
|
|
17
|
+
* WHY THE FILTERS ARE VIEW COLUMNS AND NOT DATE ARITHMETIC IN TYPESCRIPT. `RenewalNoticeDeadline`,
|
|
18
|
+
* `DaysToEnd`, `IsAwaitingDocument` and `State` are computed in the wrapper view (item 12), so a filter
|
|
19
|
+
* here is a comparison against a column rather than a re-derivation. That is the whole payoff of
|
|
20
|
+
* deriving them in SQL: the rule renders once, and a worklist cannot disagree with a form.
|
|
21
|
+
*
|
|
22
|
+
* @module @mj-biz-apps/contracts-ng
|
|
23
|
+
*/
|
|
24
|
+
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
25
|
+
import { NavigationService } from '@memberjunction/ng-shared';
|
|
26
|
+
import type { CompositeKey } from '@memberjunction/core';
|
|
27
|
+
import type { RunViewParams } from '@memberjunction/core';
|
|
28
|
+
import * as i0 from "@angular/core";
|
|
29
|
+
/** One filter pill: a label, the SQL it contributes, and a live count. */
|
|
30
|
+
export interface MJCFilterPill {
|
|
31
|
+
Id: string;
|
|
32
|
+
Label: string;
|
|
33
|
+
/** SQL fragment ANDed into the grid's ExtraFilter. Empty means "no restriction". */
|
|
34
|
+
Filter: string;
|
|
35
|
+
/** Populated by a count query; omitted from the UI when zero or unknown. */
|
|
36
|
+
Count?: number;
|
|
37
|
+
/** One line explaining what the pill means, for its title attribute. */
|
|
38
|
+
Hint?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Shared skeleton. A concrete page supplies its title, its pills, and which pill starts active.
|
|
42
|
+
*
|
|
43
|
+
* `standalone: false` is wrong for these — they are created dynamically by the section via
|
|
44
|
+
* `createComponent`, so they must be standalone and self-sufficient in their imports.
|
|
45
|
+
*/
|
|
46
|
+
export declare abstract class MJCContractGridPageBase implements OnInit {
|
|
47
|
+
protected readonly cdr: ChangeDetectorRef;
|
|
48
|
+
protected readonly navigation: NavigationService;
|
|
49
|
+
/** Pills for this page, in display order. The first is the default. */
|
|
50
|
+
Pills: MJCFilterPill[];
|
|
51
|
+
/** Which pill is active. Null means "no pill" — the unfiltered list. */
|
|
52
|
+
ActivePillId: string | null;
|
|
53
|
+
/** What the grid runs. Rebuilt whenever the active pill changes. */
|
|
54
|
+
Params: RunViewParams | null;
|
|
55
|
+
IsLoading: boolean;
|
|
56
|
+
LoadError: string | null;
|
|
57
|
+
/** Free-text restriction the user typed, ANDed with the pill. */
|
|
58
|
+
SearchText: string;
|
|
59
|
+
/**
|
|
60
|
+
* Toolbar affordances that actually work, and one that does not.
|
|
61
|
+
*
|
|
62
|
+
* ⚠ `showFilterToggle` IS A NO-OP, and this comment used to claim the opposite. It is declared on
|
|
63
|
+
* `GridToolbarConfig` (`grid-types.ts:249`) and documented in the entity-viewer README, and it is
|
|
64
|
+
* **read nowhere in MJ** — no template branch renders a filter button. Three sibling hooks are dead
|
|
65
|
+
* the same way: the `AllowColumnFilters` input stores `_allowColumnFilters` and nothing reads it,
|
|
66
|
+
* `_filterState` is declared and never touched, and `defaultColDef.filter` is hardcoded `false`, so
|
|
67
|
+
* AG Grid's per-column filters are off with no input to turn them on. It is left set to `true` here
|
|
68
|
+
* because it costs nothing and is the flag to keep passing if MJ ever wires it up.
|
|
69
|
+
*
|
|
70
|
+
* So the ONLY filtering this page has beyond the pills is `showSearch` — which sets AG Grid's
|
|
71
|
+
* `quickFilterText`, a client-side substring match over the rows already loaded. It is not
|
|
72
|
+
* structured and not server-side. Filtering by date range / category / derived State needs a real
|
|
73
|
+
* filter popover (see `design-docs/ui-design/mockups-v2/renewal-watchlist.html`), which is ours to
|
|
74
|
+
* build; the pills stay regardless, because they encode the QUESTIONS people ask rather than
|
|
75
|
+
* predicates a user would assemble by hand.
|
|
76
|
+
*/
|
|
77
|
+
readonly GridToolbar: {
|
|
78
|
+
showSearch: boolean;
|
|
79
|
+
showFilterToggle: boolean;
|
|
80
|
+
showColumnChooser: boolean;
|
|
81
|
+
showRefresh: boolean;
|
|
82
|
+
showExport: boolean;
|
|
83
|
+
showRowCount: boolean;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Open the double-clicked record.
|
|
87
|
+
*
|
|
88
|
+
* THE GRID DOES NOT NAVIGATE ITSELF. `NavigateOnDoubleClick` only controls whether it EMITS
|
|
89
|
+
* `Navigate`; acting on it is the HOST's job. Without this, a double-click merely selected the row
|
|
90
|
+
* — measured in a real browser, where it looked exactly like the grid being broken. Explorer's own
|
|
91
|
+
* host wires this for generated forms; a page hosting the grid inside a BaseResourceComponent must
|
|
92
|
+
* do it itself.
|
|
93
|
+
*/
|
|
94
|
+
OnNavigate(event: {
|
|
95
|
+
Kind?: string;
|
|
96
|
+
EntityName?: string;
|
|
97
|
+
PrimaryKey?: CompositeKey;
|
|
98
|
+
DefaultValues?: Record<string, unknown>;
|
|
99
|
+
}): void;
|
|
100
|
+
protected abstract get pills(): MJCFilterPill[];
|
|
101
|
+
/**
|
|
102
|
+
* A restriction that applies to EVERY pill on this page — what makes a worklist a worklist.
|
|
103
|
+
*
|
|
104
|
+
* Kept separate from the pills rather than baked into each one: the page-level scope is the
|
|
105
|
+
* page's identity ("contracts awaiting documents"), while a pill narrows within it. Merging them
|
|
106
|
+
* would mean repeating the scope in every pill and being able to forget it in one.
|
|
107
|
+
*/
|
|
108
|
+
protected get pageFilter(): string;
|
|
109
|
+
ngOnInit(): void;
|
|
110
|
+
/** Pill click. Re-selecting the active pill CLEARS it, which is how a user gets back to unfiltered. */
|
|
111
|
+
SelectPill(id: string): void;
|
|
112
|
+
ApplySearch(text: string): void;
|
|
113
|
+
/** Compose page scope + active pill + search into one ExtraFilter. */
|
|
114
|
+
protected rebuild(): void;
|
|
115
|
+
/** Default ordering. Worklists override — a worklist sorts by urgency, not by identity. */
|
|
116
|
+
protected get orderBy(): string;
|
|
117
|
+
/**
|
|
118
|
+
* Count each pill, so the rail and the pills agree about how much work there is.
|
|
119
|
+
*
|
|
120
|
+
* One `RunView` per pill with `MaxRows: 1` — the count comes from `TotalRowCount`, so nothing is
|
|
121
|
+
* transferred. Failures are swallowed to a null count rather than surfaced: a missing badge is a
|
|
122
|
+
* cosmetic loss, and a page that refuses to render because a count query failed is not.
|
|
123
|
+
*/
|
|
124
|
+
protected refreshCounts(): Promise<void>;
|
|
125
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MJCContractGridPageBase, never>;
|
|
126
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MJCContractGridPageBase, "ng-component", never, {}, {}, never, never, true, never>;
|
|
127
|
+
}
|
|
128
|
+
/** Every contract, newest number first. */
|
|
129
|
+
export declare class MJCAllContractsPageComponent extends MJCContractGridPageBase {
|
|
130
|
+
Intro: string;
|
|
131
|
+
protected get pills(): MJCFilterPill[];
|
|
132
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MJCAllContractsPageComponent, never>;
|
|
133
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MJCAllContractsPageComponent, "mjc-all-contracts-page", never, {}, {}, never, never, true, never>;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Renewals & expiry — item 12's screen.
|
|
137
|
+
*
|
|
138
|
+
* Sorted by `RenewalNoticeDeadline`, not `EndDate`, because the date that matters is when our chance to
|
|
139
|
+
* act ends rather than when the contract does. Nulls last: a contract with no notice period recorded
|
|
140
|
+
* has no deadline to miss, so it should not head a list of deadlines.
|
|
141
|
+
*
|
|
142
|
+
* The four defaults are exactly D-21's, and there is deliberately no Save-as-view: users drive filters
|
|
143
|
+
* in-session, and persisting custom watchlists is phase 2 or never.
|
|
144
|
+
*/
|
|
145
|
+
export declare class MJCRenewalsPageComponent extends MJCContractGridPageBase {
|
|
146
|
+
Intro: string;
|
|
147
|
+
/** Only live agreements can be renewed or allowed to expire. */
|
|
148
|
+
protected get pageFilter(): string;
|
|
149
|
+
protected get orderBy(): string;
|
|
150
|
+
protected get pills(): MJCFilterPill[];
|
|
151
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MJCRenewalsPageComponent, never>;
|
|
152
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MJCRenewalsPageComponent, "mjc-renewals-page", never, {}, {}, never, never, true, never>;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Awaiting documents — the other half of item 12's work group.
|
|
156
|
+
*
|
|
157
|
+
* `IsAwaitingDocument` is derived (the contract TYPE expects paper and no file is linked), which is why
|
|
158
|
+
* this page is a filter rather than a stored worklist: a Payment Link never appears here, because its
|
|
159
|
+
* type says paper was never expected. Nothing has to remember to clear a flag.
|
|
160
|
+
*/
|
|
161
|
+
export declare class MJCAwaitingDocumentsPageComponent extends MJCContractGridPageBase {
|
|
162
|
+
Intro: string;
|
|
163
|
+
protected get pageFilter(): string;
|
|
164
|
+
protected get orderBy(): string;
|
|
165
|
+
protected get pills(): MJCFilterPill[];
|
|
166
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MJCAwaitingDocumentsPageComponent, never>;
|
|
167
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MJCAwaitingDocumentsPageComponent, "mjc-awaiting-documents-page", never, {}, {}, never, never, true, never>;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=contract-grid.page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-grid.page.d.ts","sourceRoot":"","sources":["../../../src/lib/pages/contract-grid.page.ts"],"names":[],"mappings":"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"}
|