@memberjunction/ng-join-grid 5.11.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.
|
@@ -853,11 +853,11 @@ export class JoinGridComponent {
|
|
|
853
853
|
i0.ɵɵconditional(ctx.ShowCancelButton ? 3 : -1);
|
|
854
854
|
i0.ɵɵadvance();
|
|
855
855
|
i0.ɵɵconditional(!ctx._IsLoading ? 4 : -1);
|
|
856
|
-
} }, dependencies: [i1.NgClass, i2.TextBoxComponent, i2.CheckBoxDirective, i3.ButtonComponent, i4.DropDownListComponent, i5.LoadingComponent], styles: [".wrapper[_ngcontent-%COMP%] {\n overflow: auto;\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n \nbutton.cellButton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 30px;\n margin-bottom: 5px;\n float: right;\n}\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color:
|
|
856
|
+
} }, dependencies: [i1.NgClass, i2.TextBoxComponent, i2.CheckBoxDirective, i3.ButtonComponent, i4.DropDownListComponent, i5.LoadingComponent], styles: [".wrapper[_ngcontent-%COMP%] {\n overflow: auto;\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n \nbutton.cellButton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 30px;\n margin-bottom: 5px;\n float: right;\n}\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface-sunken); \n\n color: var(--mj-text-primary); \n\n font-weight: bold; \n\n}\n\n\n\n\n\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default); \n\n height: 36px; \n\n text-align: center;\n padding: 0 8px; \n\n}\n\ntd.column-cell[_ngcontent-%COMP%] {\n margin: 0;\n \n\n \n\n text-align: left;\n}\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n min-width: 150px; \n\n text-align: left;\n vertical-align: middle;\n}\n\n.checkbox-column[_ngcontent-%COMP%] {\n width: 100px; \n\n}\n\n\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd) {\n background-color: var(--mj-bg-surface); \n\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(even) {\n background-color: var(--mj-brand-primary-subtle); \n\n}\n\ntable[_ngcontent-%COMP%] tr.dirty-row[_ngcontent-%COMP%] {\n font-style: italic;\n background-color: var(--mj-status-error-subtle);\n}\n\ntable[_ngcontent-%COMP%] td.dirty-cell[_ngcontent-%COMP%] {\n font-style: italic;\n background-color: var(--mj-status-error-subtle);\n}"] });
|
|
857
857
|
}
|
|
858
858
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JoinGridComponent, [{
|
|
859
859
|
type: Component,
|
|
860
|
-
args: [{ standalone: false, selector: 'mj-join-grid', template: "<div class=\"wrapper\">\n @if (_IsLoading) {\n <div><mj-loading [showText]=\"false\" size=\"medium\"></mj-loading></div>\n }\n @if (ShowSaveButton) {\n <button [disabled]=\"NumDirtyRecords === 0\" kendoButton (click)=\"Save()\">Save</button>\n }\n @if (ShowCancelButton) {\n <button [disabled]=\"NumDirtyRecords === 0\" kendoButton (click)=\"CancelEdit()\">Cancel</button>\n }\n @if (!_IsLoading) {\n <table class=\"grid\">\n <thead>\n <tr>\n <!-- First column is the name of the Rows Entity -->\n <th>{{RowsEntityDisplayNameOrName}}</th>\n @if (ColumnsMode === 'Entity') {\n @for (colRecord of this._columnsEntityData; track colRecord) {\n <th class=\"checkbox-column\">{{colRecord.Get(this.ColumnsEntityDisplayField)}}</th>\n }\n }\n @else {\n <!-- we need one column for each of the fields in the JoinEntityDisplayColumns array -->\n @for (colName of JoinEntityDisplayColumns; track colName) {\n <th>{{colName}}</th>\n }\n }\n </tr>\n </thead>\n <tbody>\n @for (row of _GridData; track row) {\n <tr [ngClass]=\"IsRecordReallyDirty(row) ? 'dirty-row' : ''\">\n <td class=\"first-column\">\n <span>{{row.FirstColValue}}</span>\n @if (EditMode !== 'None'){\n @if (!row.JoinExists) {\n <button kendoButton class=\"cellButton\" (click)=\"AddJoinEntityRecord(row)\"><span class=\"fa-solid fa-plus\"></span></button>\n }\n @else {\n <button kendoButton class=\"cellButton\" (click)=\"RemoveJoinEntityRecord(row)\"><span class=\"fa-solid fa-minus\"></span></button>\n }\n }\n </td>\n @if (ColumnsMode === 'Fields') {\n @for (colName of JoinEntityDisplayColumns; track colName; let i = $index) {\n <td class=\"column-cell\">\n @if (EditMode !== 'None') {\n @if (row.JoinExists) {\n @if (GetJoinEntityField(colName).ValueListType === \"None\") {\n @if (GetJoinEntityField(colName).TSType === EntityFieldTSType.Boolean) {\n <input type=\"checkbox\" [checked]=\"row.GetColumnValue(i)\" (change)=\"UpdateCellValue(row, i, $event)\" />\n }\n @else {\n <kendo-textbox [value]=\"row.GetColumnValue(i)\" (change)=\"UpdateCellValue(row, i, $event)\" />\n }\n }\n @else {\n <kendo-dropdownlist\n [data]=\"GetJoinEntityFieldValues(colName)\"\n [value]=\"row.GetColumnValue(i)\"\n (selectionChange)=\"UpdateCellValueDirect(row, i, $event)\"\n >\n </kendo-dropdownlist>\n }\n }\n }\n @else {\n {{row.GetColumnValue(i)}}\n }\n </td>\n }\n }\n @else {\n @for (cell of row.ColumnData; track cell) {\n <!-- loop through all the columns and display a checkbox and check it if we have a match in the current row -->\n <td class=\"checkbox-column\" (click)=\"_FlipRecord($event, row, cell)\"\n [ngClass]=\"IsCellReallyDirty(cell) ? 'dirty-cell' : ''\">\n @if (EditMode !== 'None') {\n <input type=\"checkbox\"\n kendoCheckBox\n [checked]=\"_IsColumnChecked(cell)\"\n (click)=\"_FlipRecord($event, row, cell, true)\">\n }\n @else {\n {{cell.value ? '\u2713' : ''}}\n }\n </td>\n}\n}\n</tr>\n}\n</tbody>\n</table>\n}\n</div>", styles: [".wrapper {\n overflow: auto;\n}\n\nbutton {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n \nbutton.cellButton {\n margin-left: 5px;\n margin-top: 5px;\n width: 30px;\n margin-bottom: 5px;\n float: right;\n}\n\ntable th {\n background-color:
|
|
860
|
+
args: [{ standalone: false, selector: 'mj-join-grid', template: "<div class=\"wrapper\">\n @if (_IsLoading) {\n <div><mj-loading [showText]=\"false\" size=\"medium\"></mj-loading></div>\n }\n @if (ShowSaveButton) {\n <button [disabled]=\"NumDirtyRecords === 0\" kendoButton (click)=\"Save()\">Save</button>\n }\n @if (ShowCancelButton) {\n <button [disabled]=\"NumDirtyRecords === 0\" kendoButton (click)=\"CancelEdit()\">Cancel</button>\n }\n @if (!_IsLoading) {\n <table class=\"grid\">\n <thead>\n <tr>\n <!-- First column is the name of the Rows Entity -->\n <th>{{RowsEntityDisplayNameOrName}}</th>\n @if (ColumnsMode === 'Entity') {\n @for (colRecord of this._columnsEntityData; track colRecord) {\n <th class=\"checkbox-column\">{{colRecord.Get(this.ColumnsEntityDisplayField)}}</th>\n }\n }\n @else {\n <!-- we need one column for each of the fields in the JoinEntityDisplayColumns array -->\n @for (colName of JoinEntityDisplayColumns; track colName) {\n <th>{{colName}}</th>\n }\n }\n </tr>\n </thead>\n <tbody>\n @for (row of _GridData; track row) {\n <tr [ngClass]=\"IsRecordReallyDirty(row) ? 'dirty-row' : ''\">\n <td class=\"first-column\">\n <span>{{row.FirstColValue}}</span>\n @if (EditMode !== 'None'){\n @if (!row.JoinExists) {\n <button kendoButton class=\"cellButton\" (click)=\"AddJoinEntityRecord(row)\"><span class=\"fa-solid fa-plus\"></span></button>\n }\n @else {\n <button kendoButton class=\"cellButton\" (click)=\"RemoveJoinEntityRecord(row)\"><span class=\"fa-solid fa-minus\"></span></button>\n }\n }\n </td>\n @if (ColumnsMode === 'Fields') {\n @for (colName of JoinEntityDisplayColumns; track colName; let i = $index) {\n <td class=\"column-cell\">\n @if (EditMode !== 'None') {\n @if (row.JoinExists) {\n @if (GetJoinEntityField(colName).ValueListType === \"None\") {\n @if (GetJoinEntityField(colName).TSType === EntityFieldTSType.Boolean) {\n <input type=\"checkbox\" [checked]=\"row.GetColumnValue(i)\" (change)=\"UpdateCellValue(row, i, $event)\" />\n }\n @else {\n <kendo-textbox [value]=\"row.GetColumnValue(i)\" (change)=\"UpdateCellValue(row, i, $event)\" />\n }\n }\n @else {\n <kendo-dropdownlist\n [data]=\"GetJoinEntityFieldValues(colName)\"\n [value]=\"row.GetColumnValue(i)\"\n (selectionChange)=\"UpdateCellValueDirect(row, i, $event)\"\n >\n </kendo-dropdownlist>\n }\n }\n }\n @else {\n {{row.GetColumnValue(i)}}\n }\n </td>\n }\n }\n @else {\n @for (cell of row.ColumnData; track cell) {\n <!-- loop through all the columns and display a checkbox and check it if we have a match in the current row -->\n <td class=\"checkbox-column\" (click)=\"_FlipRecord($event, row, cell)\"\n [ngClass]=\"IsCellReallyDirty(cell) ? 'dirty-cell' : ''\">\n @if (EditMode !== 'None') {\n <input type=\"checkbox\"\n kendoCheckBox\n [checked]=\"_IsColumnChecked(cell)\"\n (click)=\"_FlipRecord($event, row, cell, true)\">\n }\n @else {\n {{cell.value ? '\u2713' : ''}}\n }\n </td>\n}\n}\n</tr>\n}\n</tbody>\n</table>\n}\n</div>", styles: [".wrapper {\n overflow: auto;\n}\n\nbutton {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n \nbutton.cellButton {\n margin-left: 5px;\n margin-top: 5px;\n width: 30px;\n margin-bottom: 5px;\n float: right;\n}\n\ntable th {\n background-color: var(--mj-bg-surface-sunken); /* Light gray background for headers */\n color: var(--mj-text-primary); /* Text color for headers */\n font-weight: bold; /* Bold font weight for headers */\n}\n/* \n.permission-left-col {\n cursor: pointer;\n} */\n\n/* Style for all table cells */\ntable th, table td {\n border: 1px solid var(--mj-border-default); /* Gray border for cells */\n height: 36px; /* Fixed height for all rows */\n text-align: center;\n padding: 0 8px; /* Add some padding inside cells */\n}\n\ntd.column-cell {\n margin: 0;\n /* display: flex; */\n /* align-items: center; */\n text-align: left;\n}\n\n/* Specific styles for the first column */\ntable th:first-child, table td:first-child {\n min-width: 150px; /* Set width for the first column */\n text-align: left;\n vertical-align: middle;\n}\n\n.checkbox-column {\n width: 100px; /* Set width for \"Can\" columns */\n}\n\n/* Alternating row background colors */\ntable tr:nth-child(odd) {\n background-color: var(--mj-bg-surface); /* Light color for odd rows */\n}\n\ntable tr:nth-child(even) {\n background-color: var(--mj-brand-primary-subtle); /* Light blue for even rows */\n}\n\ntable tr.dirty-row {\n font-style: italic;\n background-color: var(--mj-status-error-subtle);\n}\n\ntable td.dirty-cell {\n font-style: italic;\n background-color: var(--mj-status-error-subtle);\n}"] }]
|
|
861
861
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], { RowsEntityName: [{
|
|
862
862
|
type: Input
|
|
863
863
|
}], RowsEntityDisplayName: [{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-join-grid",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.13.0",
|
|
4
4
|
"description": "MemberJunction: Grid component that is able to display/edit the relationship between two entities. For example being able to edit Users + Roles in a single grid.",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
"@angular/router": "21.1.3"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@memberjunction/core": "5.
|
|
31
|
-
"@memberjunction/core-entities": "5.
|
|
32
|
-
"@memberjunction/global": "5.
|
|
33
|
-
"@memberjunction/ng-base-types": "5.
|
|
34
|
-
"@memberjunction/ng-container-directives": "5.
|
|
35
|
-
"@memberjunction/ng-shared": "5.
|
|
36
|
-
"@memberjunction/ng-shared-generic": "5.
|
|
30
|
+
"@memberjunction/core": "5.13.0",
|
|
31
|
+
"@memberjunction/core-entities": "5.13.0",
|
|
32
|
+
"@memberjunction/global": "5.13.0",
|
|
33
|
+
"@memberjunction/ng-base-types": "5.13.0",
|
|
34
|
+
"@memberjunction/ng-container-directives": "5.13.0",
|
|
35
|
+
"@memberjunction/ng-shared": "5.13.0",
|
|
36
|
+
"@memberjunction/ng-shared-generic": "5.13.0",
|
|
37
37
|
"@progress/kendo-angular-buttons": "22.0.1",
|
|
38
38
|
"@progress/kendo-angular-dialog": "22.0.1",
|
|
39
39
|
"@progress/kendo-angular-dropdowns": "22.0.1",
|