@trudb/tru-common-lib 0.0.492 → 0.0.494
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/esm2020/lib/classes/tru-data-change-parser.mjs +278 -0
- package/esm2020/lib/classes/tru-data-change.mjs +7 -0
- package/esm2020/lib/components/data-grid/tru-data-grid.mjs +16 -11
- package/esm2020/lib/services/tru-connection-hub.mjs +21 -13
- package/esm2020/lib/services/tru-model-property-lookup.mjs +22 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/trudb-tru-common-lib.mjs +354 -42
- package/fesm2015/trudb-tru-common-lib.mjs.map +1 -1
- package/fesm2020/trudb-tru-common-lib.mjs +353 -42
- package/fesm2020/trudb-tru-common-lib.mjs.map +1 -1
- package/lib/classes/tru-data-change-parser.d.ts +32 -0
- package/lib/classes/tru-data-change.d.ts +4 -0
- package/lib/components/data-grid/tru-data-grid.d.ts +3 -1
- package/lib/services/tru-connection-hub.d.ts +10 -1
- package/lib/services/tru-model-property-lookup.d.ts +10 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -15,7 +15,9 @@ import * as i1$1 from 'ngx-toastr';
|
|
|
15
15
|
import * as i1$3 from '@angular/common';
|
|
16
16
|
import { CommonModule } from '@angular/common';
|
|
17
17
|
import moment from 'moment/moment';
|
|
18
|
-
import * as
|
|
18
|
+
import * as signalR from '@microsoft/signalr';
|
|
19
|
+
import moment$1 from 'moment';
|
|
20
|
+
import * as i8 from 'ag-grid-angular';
|
|
19
21
|
import { AgGridModule } from 'ag-grid-angular';
|
|
20
22
|
import * as i2 from '@angular/material/icon';
|
|
21
23
|
import { MatIconModule } from '@angular/material/icon';
|
|
@@ -72,7 +74,6 @@ import { MatToolbarModule } from '@angular/material/toolbar';
|
|
|
72
74
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
73
75
|
import { MatTreeModule } from '@angular/material/tree';
|
|
74
76
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
75
|
-
import * as signalR from '@microsoft/signalr';
|
|
76
77
|
|
|
77
78
|
class TruComponentConfigBase {
|
|
78
79
|
constructor() { }
|
|
@@ -1994,6 +1995,347 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
1994
1995
|
type: Injectable
|
|
1995
1996
|
}], ctorParameters: function () { return []; } });
|
|
1996
1997
|
|
|
1998
|
+
class TruDataChange {
|
|
1999
|
+
constructor() {
|
|
2000
|
+
this.dataChanges = [];
|
|
2001
|
+
this.reload = false;
|
|
2002
|
+
}
|
|
2003
|
+
}
|
|
2004
|
+
|
|
2005
|
+
class TruDataChangeParser {
|
|
2006
|
+
onDataChanged() {
|
|
2007
|
+
return this.dataChanged$;
|
|
2008
|
+
}
|
|
2009
|
+
dataChanged(change) {
|
|
2010
|
+
this.dataChanged$.next(change);
|
|
2011
|
+
}
|
|
2012
|
+
constructor(connection, dataContext, tableName, getLatestResults, getLatestQuery, contextFilters, expandPaths, isLoaded, modelPropertyLookup) {
|
|
2013
|
+
this.waitingEntities = [];
|
|
2014
|
+
this.dataChanged$ = new Subject();
|
|
2015
|
+
this.findEntityInCache = (change) => {
|
|
2016
|
+
var entityAccessor = this.dataContext.entityAccess(change.tableName);
|
|
2017
|
+
return entityAccessor.getByRefCacheOnly(parseInt(change.tableRef, 10), true)[0];
|
|
2018
|
+
};
|
|
2019
|
+
this.findEntityInGlobalCache = (change) => {
|
|
2020
|
+
var entityAccessor = this.globalDataContext.entityAccess(change.tableName);
|
|
2021
|
+
return entityAccessor.getByRefCacheOnly(parseInt(change.tableRef, 10), true)[0];
|
|
2022
|
+
};
|
|
2023
|
+
this.checkIfDateTime = (newValue, currentValue, typeName) => {
|
|
2024
|
+
if (typeName === 'date-time' || typeName === 'date') {
|
|
2025
|
+
if (moment$1(newValue, "YYYY-MM-DD HH:mm:ss.sssssss", true).isValid())
|
|
2026
|
+
return moment$1(moment$1.utc(newValue).toDate()).format('MM/DD/YYYY hh:mm A');
|
|
2027
|
+
}
|
|
2028
|
+
return newValue;
|
|
2029
|
+
};
|
|
2030
|
+
this.hasPropertyAlreadyBeenModified = (propertyName, entity) => {
|
|
2031
|
+
return entity.entityAspect.originalValues.hasOwnProperty(propertyName);
|
|
2032
|
+
};
|
|
2033
|
+
this.applyPropertyChanges = (change, entity) => {
|
|
2034
|
+
var stateBeforePropertyChange = entity.entityAspect.entityState;
|
|
2035
|
+
var originalValues = entity.entityAspect.originalValues;
|
|
2036
|
+
entity['Data_Notification'] = true;
|
|
2037
|
+
Object.keys(change.properties).forEach((key) => {
|
|
2038
|
+
var entityType = this.types.get(change.tableName + '.' + key);
|
|
2039
|
+
if (!entityType) {
|
|
2040
|
+
entityType = new TruPropertyConfigBase();
|
|
2041
|
+
entityType.typeName = 'text-bounded';
|
|
2042
|
+
}
|
|
2043
|
+
var propertyModified = this.hasPropertyAlreadyBeenModified(key, entity);
|
|
2044
|
+
if (key === 'Updated' || key === 'UpdatedRef') {
|
|
2045
|
+
entity[key] = this.checkIfDateTime(change.properties[key], entity[key], entityType.typeName);
|
|
2046
|
+
if (originalValues.hasOwnProperty(key))
|
|
2047
|
+
delete originalValues[key];
|
|
2048
|
+
}
|
|
2049
|
+
else if (entity[key] !== this.checkIfDateTime(change.properties[key], entity[key], entityType.typeName)) {
|
|
2050
|
+
if (!propertyModified) {
|
|
2051
|
+
entity[key] = this.checkIfDateTime(change.properties[key], entity[key], entityType.typeName);
|
|
2052
|
+
delete originalValues[key];
|
|
2053
|
+
}
|
|
2054
|
+
else {
|
|
2055
|
+
var mergeData = JSON.parse(entity.Merge_Data);
|
|
2056
|
+
if (mergeData) {
|
|
2057
|
+
mergeData[key] = {
|
|
2058
|
+
"value": this.checkIfDateTime(change.properties[key], entity[key], entityType.typeName),
|
|
2059
|
+
"modifiedBy": change.modifiedBy,
|
|
2060
|
+
"hid": change.properties[key + 'HID']
|
|
2061
|
+
};
|
|
2062
|
+
}
|
|
2063
|
+
else {
|
|
2064
|
+
mergeData = {};
|
|
2065
|
+
mergeData[key] = {
|
|
2066
|
+
"value": this.checkIfDateTime(change.properties[key], entity[key], entityType.typeName),
|
|
2067
|
+
"modifiedBy": change.modifiedBy,
|
|
2068
|
+
"hid": change.properties[key + 'HID']
|
|
2069
|
+
};
|
|
2070
|
+
}
|
|
2071
|
+
entity.Merge_Data = JSON.stringify(mergeData);
|
|
2072
|
+
entity.entityAspect.validateProperty(key);
|
|
2073
|
+
}
|
|
2074
|
+
if (typeof (originalValues[key]) !== 'undefined')
|
|
2075
|
+
originalValues[key] = this.checkIfDateTime(change.properties[key], entity[key], entityType.typeName);
|
|
2076
|
+
}
|
|
2077
|
+
else {
|
|
2078
|
+
if (originalValues.hasOwnProperty(key))
|
|
2079
|
+
delete originalValues[key];
|
|
2080
|
+
}
|
|
2081
|
+
});
|
|
2082
|
+
entity['rowver'] = change.rowver;
|
|
2083
|
+
delete originalValues['rowver'];
|
|
2084
|
+
if (stateBeforePropertyChange.name !== "Modified" || (Object.keys(originalValues).length === 0 && originalValues.constructor === Object)) {
|
|
2085
|
+
if (!entity.entityAspect.isBeingSaved) {
|
|
2086
|
+
entity.entityAspect.setUnchanged();
|
|
2087
|
+
}
|
|
2088
|
+
else {
|
|
2089
|
+
this.waitingEntities.push(entity);
|
|
2090
|
+
}
|
|
2091
|
+
}
|
|
2092
|
+
delete entity['Data_Notification'];
|
|
2093
|
+
};
|
|
2094
|
+
this.setWaitingEntitiesToUnchanged = () => {
|
|
2095
|
+
this.waitingEntities.forEach((entity) => {
|
|
2096
|
+
if (entity && entity.entityAspect)
|
|
2097
|
+
entity.entityAspect.setUnchanged();
|
|
2098
|
+
});
|
|
2099
|
+
};
|
|
2100
|
+
this.entityFoundByQuery = (change) => {
|
|
2101
|
+
var entityAccessor = this.dataContext.entityAccess(this.tableName);
|
|
2102
|
+
var entities = entityAccessor.subsearch(this.getLatestQuery(), [change.tableRef]);
|
|
2103
|
+
if (!entities.length) {
|
|
2104
|
+
var entityAccessor = this.globalDataContext.entityAccess(this.tableName);
|
|
2105
|
+
entities = entityAccessor.subsearch(this.getLatestQuery(), [change.tableRef]);
|
|
2106
|
+
}
|
|
2107
|
+
return entities.length;
|
|
2108
|
+
};
|
|
2109
|
+
this.getEntityFromCache = (change) => {
|
|
2110
|
+
var entityAccessor = this.dataContext.entityAccess(this.tableName);
|
|
2111
|
+
var entities = entityAccessor.subsearch(this.getLatestQuery(), [change.tableRef]);
|
|
2112
|
+
if (!entities.length) {
|
|
2113
|
+
var entityAccessor = this.globalDataContext.entityAccess(this.tableName);
|
|
2114
|
+
entities = entityAccessor.subsearch(this.getLatestQuery(), [change.tableRef]);
|
|
2115
|
+
}
|
|
2116
|
+
return entities[0];
|
|
2117
|
+
};
|
|
2118
|
+
this.getEntityFromServer = (change) => {
|
|
2119
|
+
var entityAccessor = this.dataContext.entityAccess(this.tableName);
|
|
2120
|
+
var entitiy = entityAccessor.customSearchByRef(this.getLatestQuery(), change.tableRef);
|
|
2121
|
+
return entitiy;
|
|
2122
|
+
};
|
|
2123
|
+
this.getEntityFromResults = (results, change) => {
|
|
2124
|
+
return results.filter((e) => { return e.Ref === change.tableRef; });
|
|
2125
|
+
};
|
|
2126
|
+
this.isSaving = async () => {
|
|
2127
|
+
return new Promise((resolve, reject) => {
|
|
2128
|
+
var interval = setInterval(() => {
|
|
2129
|
+
//if (!$rootScope['isSaving']) {
|
|
2130
|
+
// clearInterval(interval);
|
|
2131
|
+
// resolve();
|
|
2132
|
+
//}
|
|
2133
|
+
}, 1000);
|
|
2134
|
+
});
|
|
2135
|
+
};
|
|
2136
|
+
this.update = async (payload) => {
|
|
2137
|
+
//await this.isSaving();
|
|
2138
|
+
var reloadResults = false;
|
|
2139
|
+
payload.changes.forEach(async (change) => {
|
|
2140
|
+
var foundEntities = [];
|
|
2141
|
+
var localEntity = this.findEntityInCache(change);
|
|
2142
|
+
var globalEntity = this.findEntityInGlobalCache(change);
|
|
2143
|
+
if (localEntity)
|
|
2144
|
+
foundEntities.push(localEntity);
|
|
2145
|
+
if (globalEntity)
|
|
2146
|
+
foundEntities.push(globalEntity);
|
|
2147
|
+
if (foundEntities.length) {
|
|
2148
|
+
foundEntities.forEach(async (entity) => {
|
|
2149
|
+
if (change.tableName === this.tableName) {
|
|
2150
|
+
if (change.changeOperation === 'U') {
|
|
2151
|
+
this.applyPropertyChanges(change, entity);
|
|
2152
|
+
var results = this.getLatestResults();
|
|
2153
|
+
if (this.entityFoundByQuery(change)) {
|
|
2154
|
+
var entityAlreadyInResults = this.getEntityFromResults(results, change);
|
|
2155
|
+
if (!entityAlreadyInResults.length && this.isLoaded()) {
|
|
2156
|
+
results.push(entity);
|
|
2157
|
+
}
|
|
2158
|
+
reloadResults = true;
|
|
2159
|
+
}
|
|
2160
|
+
else {
|
|
2161
|
+
var entityToRemove = this.getEntityFromResults(results, change);
|
|
2162
|
+
if (entityToRemove.length) {
|
|
2163
|
+
results.splice(results.indexOf(entityToRemove[0]), 1);
|
|
2164
|
+
reloadResults = true;
|
|
2165
|
+
}
|
|
2166
|
+
}
|
|
2167
|
+
}
|
|
2168
|
+
else if (change.changeOperation === 'D') {
|
|
2169
|
+
var results = this.getLatestResults();
|
|
2170
|
+
var entityToDelete = this.getEntityFromResults(results, change);
|
|
2171
|
+
if (entityToDelete.length) {
|
|
2172
|
+
entityToDelete[0].entityAspect.setDetached();
|
|
2173
|
+
results.splice(results.indexOf(entityToDelete[0]), 1);
|
|
2174
|
+
reloadResults = true;
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
else if (change.changeOperation === 'I') {
|
|
2178
|
+
var results = this.getLatestResults();
|
|
2179
|
+
var entityAlreadyInResults = this.getEntityFromResults(results, change);
|
|
2180
|
+
if (this.entityFoundByQuery(change) && !entityAlreadyInResults.length && this.isLoaded()) {
|
|
2181
|
+
if (!localEntity) {
|
|
2182
|
+
var newEntity = this.dataContext.entityAccess(change.tableName).add(this.contextFilters);
|
|
2183
|
+
newEntity[change.tableName + 'Ref'] = change.tableRef;
|
|
2184
|
+
this.applyPropertyChanges(change, newEntity);
|
|
2185
|
+
if (this.isLoaded()) {
|
|
2186
|
+
var results = this.getLatestResults();
|
|
2187
|
+
results.push(newEntity);
|
|
2188
|
+
reloadResults = true;
|
|
2189
|
+
}
|
|
2190
|
+
}
|
|
2191
|
+
else if (entity === localEntity) {
|
|
2192
|
+
this.applyPropertyChanges(change, entity);
|
|
2193
|
+
var results = this.getLatestResults();
|
|
2194
|
+
results.push(entity);
|
|
2195
|
+
reloadResults = true;
|
|
2196
|
+
}
|
|
2197
|
+
}
|
|
2198
|
+
else if (!this.entityFoundByQuery(change) && entityAlreadyInResults.length) {
|
|
2199
|
+
var results = this.getLatestResults();
|
|
2200
|
+
var entityToDelete = this.getEntityFromResults(results, change);
|
|
2201
|
+
if (entityToDelete.length) {
|
|
2202
|
+
results.splice(results.indexOf(entityAlreadyInResults[0]), 1);
|
|
2203
|
+
reloadResults = true;
|
|
2204
|
+
}
|
|
2205
|
+
}
|
|
2206
|
+
else if (!globalEntity) {
|
|
2207
|
+
var newEntity = this.globalDataContext.entityAccess(change.tableName).add(this.contextFilters);
|
|
2208
|
+
newEntity[change.tableName + 'Ref'] = change.tableRef;
|
|
2209
|
+
this.applyPropertyChanges(change, newEntity);
|
|
2210
|
+
reloadResults = true;
|
|
2211
|
+
}
|
|
2212
|
+
else {
|
|
2213
|
+
reloadResults = true;
|
|
2214
|
+
}
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
2217
|
+
else if (change.changeOperation !== 'D') {
|
|
2218
|
+
this.applyPropertyChanges(change, entity);
|
|
2219
|
+
}
|
|
2220
|
+
});
|
|
2221
|
+
}
|
|
2222
|
+
else if (change.changeOperation === 'U' && change.tableName === this.tableName) {
|
|
2223
|
+
await this.getEntityFromServer(change).then((entity) => {
|
|
2224
|
+
if (entity) {
|
|
2225
|
+
this.applyPropertyChanges(change, entity);
|
|
2226
|
+
var results = this.getLatestResults();
|
|
2227
|
+
if (this.entityFoundByQuery(change) && this.isLoaded()) {
|
|
2228
|
+
results.push(entity);
|
|
2229
|
+
reloadResults = true;
|
|
2230
|
+
}
|
|
2231
|
+
}
|
|
2232
|
+
});
|
|
2233
|
+
}
|
|
2234
|
+
else {
|
|
2235
|
+
if (change.changeOperation === 'I' && change.tableName === this.tableName) {
|
|
2236
|
+
var newEntity = this.globalDataContext.entityAccess(change.tableName).add(this.contextFilters);
|
|
2237
|
+
newEntity[change.tableName + 'Ref'] = change.tableRef;
|
|
2238
|
+
this.applyPropertyChanges(change, newEntity);
|
|
2239
|
+
newEntity = this.dataContext.entityAccess(change.tableName).add(this.contextFilters);
|
|
2240
|
+
newEntity[this.tableName + 'Ref'] = change.tableRef;
|
|
2241
|
+
this.applyPropertyChanges(change, newEntity);
|
|
2242
|
+
if (this.entityFoundByQuery(change) && this.isLoaded()) {
|
|
2243
|
+
var results = this.getLatestResults();
|
|
2244
|
+
results.push(newEntity);
|
|
2245
|
+
reloadResults = true;
|
|
2246
|
+
}
|
|
2247
|
+
}
|
|
2248
|
+
else if (change.changeOperation === 'I') {
|
|
2249
|
+
var newEntity = this.globalDataContext.entityAccess(change.tableName).add(this.contextFilters);
|
|
2250
|
+
newEntity[change.tableName + 'Ref'] = change.tableRef;
|
|
2251
|
+
this.applyPropertyChanges(change, newEntity);
|
|
2252
|
+
newEntity = this.dataContext.entityAccess(change.tableName).add(this.contextFilters);
|
|
2253
|
+
newEntity[change.tableName + 'Ref'] = change.tableRef;
|
|
2254
|
+
this.applyPropertyChanges(change, newEntity);
|
|
2255
|
+
}
|
|
2256
|
+
}
|
|
2257
|
+
if (this.expandPaths && this.expandPaths.length && this.expandPaths.includes('o' + change.tableName))
|
|
2258
|
+
reloadResults = true;
|
|
2259
|
+
});
|
|
2260
|
+
let dataChangeArgs = new TruDataChange();
|
|
2261
|
+
dataChangeArgs.dataChanges = payload;
|
|
2262
|
+
dataChangeArgs.reload = reloadResults;
|
|
2263
|
+
this.dataChanged(dataChangeArgs);
|
|
2264
|
+
};
|
|
2265
|
+
this.dataContext = dataContext;
|
|
2266
|
+
this.tableName = tableName;
|
|
2267
|
+
this.getLatestResults = getLatestResults;
|
|
2268
|
+
this.getLatestQuery = getLatestQuery;
|
|
2269
|
+
this.contextFilters = contextFilters;
|
|
2270
|
+
this.expandPaths = expandPaths;
|
|
2271
|
+
this.isLoaded = isLoaded;
|
|
2272
|
+
this.types = modelPropertyLookup.lookup;
|
|
2273
|
+
connection.on("change", (payload) => {
|
|
2274
|
+
this.update(payload);
|
|
2275
|
+
});
|
|
2276
|
+
}
|
|
2277
|
+
}
|
|
2278
|
+
|
|
2279
|
+
class TruModelPropertyLookup {
|
|
2280
|
+
constructor() {
|
|
2281
|
+
this._lookup = new Map();
|
|
2282
|
+
}
|
|
2283
|
+
get lookup() {
|
|
2284
|
+
return this._lookup;
|
|
2285
|
+
}
|
|
2286
|
+
set lookup(value) {
|
|
2287
|
+
this._lookup = value;
|
|
2288
|
+
}
|
|
2289
|
+
}
|
|
2290
|
+
TruModelPropertyLookup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruModelPropertyLookup, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2291
|
+
TruModelPropertyLookup.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruModelPropertyLookup, providedIn: 'root' });
|
|
2292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruModelPropertyLookup, decorators: [{
|
|
2293
|
+
type: Injectable,
|
|
2294
|
+
args: [{
|
|
2295
|
+
providedIn: 'root',
|
|
2296
|
+
}]
|
|
2297
|
+
}], ctorParameters: function () { return []; } });
|
|
2298
|
+
|
|
2299
|
+
class TruConnectionHub {
|
|
2300
|
+
constructor(appEnvironment, modelPropertyLookup) {
|
|
2301
|
+
this.appEnvironment = appEnvironment;
|
|
2302
|
+
this.modelPropertyLookup = modelPropertyLookup;
|
|
2303
|
+
this.start = () => {
|
|
2304
|
+
this.connection.on("error", (value) => {
|
|
2305
|
+
console.log(JSON.parse(value));
|
|
2306
|
+
});
|
|
2307
|
+
try {
|
|
2308
|
+
Object.defineProperty(WebSocket, 'OPEN', { value: 1, });
|
|
2309
|
+
this.connection.start().then(() => {
|
|
2310
|
+
this.connection.invoke('getConnectionId')
|
|
2311
|
+
.then((connectionId) => {
|
|
2312
|
+
console.log(`SignalR connection success! connectionId: ${connectionId}`);
|
|
2313
|
+
});
|
|
2314
|
+
});
|
|
2315
|
+
}
|
|
2316
|
+
catch (error) {
|
|
2317
|
+
console.log(`SignalR connection error: ${error}`);
|
|
2318
|
+
}
|
|
2319
|
+
};
|
|
2320
|
+
this.subscribe = (dataContext, tableName, getLatestResults, getLatestQuery, contextFilters, expandPaths, isLoaded) => {
|
|
2321
|
+
return new TruDataChangeParser(this.connection, dataContext, tableName, getLatestResults, getLatestQuery, contextFilters, expandPaths, isLoaded, this.modelPropertyLookup).onDataChanged();
|
|
2322
|
+
};
|
|
2323
|
+
this.connection = new signalR.HubConnectionBuilder()
|
|
2324
|
+
.withUrl(`${this.appEnvironment.appUri}/notificationhub`, {
|
|
2325
|
+
skipNegotiation: true,
|
|
2326
|
+
transport: signalR.HttpTransportType.WebSockets,
|
|
2327
|
+
}).withAutomaticReconnect().build();
|
|
2328
|
+
}
|
|
2329
|
+
}
|
|
2330
|
+
TruConnectionHub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruConnectionHub, deps: [{ token: TruAppEnvironment }, { token: TruModelPropertyLookup }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2331
|
+
TruConnectionHub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruConnectionHub, providedIn: 'root' });
|
|
2332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruConnectionHub, decorators: [{
|
|
2333
|
+
type: Injectable,
|
|
2334
|
+
args: [{
|
|
2335
|
+
providedIn: 'root',
|
|
2336
|
+
}]
|
|
2337
|
+
}], ctorParameters: function () { return [{ type: TruAppEnvironment }, { type: TruModelPropertyLookup }]; } });
|
|
2338
|
+
|
|
1997
2339
|
class TruToolbar {
|
|
1998
2340
|
constructor() {
|
|
1999
2341
|
this.config = null;
|
|
@@ -2219,12 +2561,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
2219
2561
|
}], ctorParameters: function () { return []; } });
|
|
2220
2562
|
|
|
2221
2563
|
class TruDataGrid {
|
|
2222
|
-
constructor(dataContext, searchResultViewManager, appEnvironment, searchViewEventHandler, uiNotification) {
|
|
2564
|
+
constructor(dataContext, searchResultViewManager, appEnvironment, searchViewEventHandler, uiNotification, connectionHub) {
|
|
2223
2565
|
this.dataContext = dataContext;
|
|
2224
2566
|
this.searchResultViewManager = searchResultViewManager;
|
|
2225
2567
|
this.appEnvironment = appEnvironment;
|
|
2226
2568
|
this.searchViewEventHandler = searchViewEventHandler;
|
|
2227
2569
|
this.uiNotification = uiNotification;
|
|
2570
|
+
this.connectionHub = connectionHub;
|
|
2228
2571
|
this.TruDataGridTypes = TruDataGridTypes;
|
|
2229
2572
|
this.columnDefs = [];
|
|
2230
2573
|
this.rowData = [];
|
|
@@ -2425,6 +2768,9 @@ class TruDataGrid {
|
|
|
2425
2768
|
this.onExport = () => {
|
|
2426
2769
|
this.exportData();
|
|
2427
2770
|
};
|
|
2771
|
+
this.connectionHub.subscribe(this.dataContext, this.config.tableName, () => { return this.loadedEntities; }, () => { return this.latestSetupQuery; }, this.config.resultConfig.expands, [], () => { return true; }).subscribe((dataChange) => {
|
|
2772
|
+
console.log(dataChange);
|
|
2773
|
+
});
|
|
2428
2774
|
}
|
|
2429
2775
|
ngOnInit() {
|
|
2430
2776
|
this.subscribeTo();
|
|
@@ -2445,12 +2791,12 @@ class TruDataGrid {
|
|
|
2445
2791
|
}, 0);
|
|
2446
2792
|
}
|
|
2447
2793
|
}
|
|
2448
|
-
TruDataGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDataGrid, deps: [{ token: TruDataContext }, { token: TruSearchResultViewManager }, { token: TruAppEnvironment }, { token: TruSearchViewEventHandler }, { token: TruUiNotification }], target: i0.ɵɵFactoryTarget.Component });
|
|
2449
|
-
TruDataGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruDataGrid, selector: "tru-data-grid", inputs: { config: "config", entity: "entity", name: "name" }, host: { properties: { "class.tru-data-grid": "true" } }, usesOnChanges: true, ngImport: i0, template: "<div>\r\n <div class=\"tru-data-grid-toolbar-container\">\r\n <tru-toolbar>\r\n <tru-toolbar-dropdown [options]=\"unassociatedChoices\"\r\n [(selectedOption)]=\"selectedUnassociatedChoice\"\r\n (selectionChange)=\"onUnassociatedChoiceChanged($event)\"\r\n *ngIf=\"gridType == TruDataGridTypes.DetailManyToMany\">\r\n </tru-toolbar-dropdown>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-add-icon'\" [tooltip]=\"'Add - [Ctrl + I]'\" [disabled]=\"!canAdd()\" (onClick)=\"onAdd()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-delete-icon'\" [tooltip]=\"'Delete - [Ctrl + D]'\" (click)=\"onDelete()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-keep-icon'\" [tooltip]=\"'Keep selected records - [Ctrl + K]'\" (click)=\"onKeep()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-remove-icon'\" [tooltip]=\"'Remove selected records - [Ctrl + R]'\" (click)=\"onRemove()\"></tru-toolbar-button>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-star-empty-icon'\" [tooltip]=\"'Set this result view as default'\" (click)=\"onSetDefaultResultView()\" *ngIf=\"gridType == TruDataGridTypes.Search\"></tru-toolbar-button>\r\n <tru-toolbar-separator *ngIf=\"gridType == TruDataGridTypes.Search\"></tru-toolbar-separator>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-export-icon'\" [tooltip]=\"'Export'\" (click)=\"onExport()\"></tru-toolbar-button>\r\n </tru-toolbar>\r\n <ng-container *ngTemplateOutlet=\"parentToolbarTemplate\"></ng-container>\r\n </div>\r\n <div class=\"tru-data-grid-container\">\r\n <ag-grid-angular class=\"ag-theme-alpine\"\r\n [gridOptions]=\"gridOptions\"\r\n [rowData]=\"rowData\"\r\n [columnDefs]=\"columnDefs\"\r\n [headerHeight]=\"25\"\r\n [rowHeight]=\"25\"\r\n [overlayLoadingTemplate]=\"loadingTemplate\"\r\n [overlayNoRowsTemplate]=\"noRowsTemplate\"\r\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\r\n (rowDataChanged)=\"onRowDataChanged($event)\">\r\n </ag-grid-angular>\r\n </div>\r\n</div>\r\n", styles: [".tru-data-grid:first-of-type+.tru-data-grid{margin-left:5px}.tru-data-grid-toolbar-container{display:inline-flex}.tru-data-grid-container{min-height:200px}.detail-container .tru-data-grid{position:relative}ag-grid-angular{position:absolute;inset:28px 0 0;width:100%;height:100%}.ag-root-wrapper{border-top:0px!important}.ag-header-cell{padding-left:0!important;padding-right:0!important}.ag-header-cell-resize:after{top:unset!important;height:25px!important}.ag-header-row{font-weight:500!important}.ag-header-cell-label{justify-content:center}.ag-row .ag-cell-value{padding-left:2px!important;padding-right:2px!important}.ag-cell-inline-editing{height:24px!important}.ag-cell{border-right:solid #dde2eb 1px!important}.ag-has-focus .ag-cell-focus:not(.ag-cell-inline-editing){border-right:solid #2196f3 1px!important}.ag-pinned-left-cols-container .ag-cell.ag-cell-focus{border:solid #dde2eb 1px!important;border-top:0px!important;border-bottom:0px!important}.ag-pinned-left-cols-container .ag-row-selected .ag-cell{border:0px solid #dde2eb!important;border-right:2px solid #006dcc!important;color:#006dcc;font-weight:700;background-color:#ddd}.ag-pk-aligned-cell{text-align:center}.ag-horizontal-left-spacer{overflow:hidden}.ag-grid-row-has-changes-gradient{background-color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#fff,endColorstr=#ffffff);background-image:linear-gradient(top,#fff 0%,#ffffff 25%,#dbffdf 100%);background-image:-ms-linear-gradient(top,#fff 0%,#ffffff 25%,#dbffdf 100%);background-image:-webkit-gradient(linear,right top,right bottom,color-stop(0%,#fff),color-stop(25%,#ffffff),color-stop(100%,#dbffdf))}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7$1.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "suppressServerSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: TruToolbar, selector: "tru-toolbar", inputs: ["config"] }, { kind: "component", type: TruToolbarButton, selector: "tru-toolbar-button", inputs: ["config", "icon", "text", "disabled", "tooltip", "type"], outputs: ["onClick", "onKeydown"] }, { kind: "component", type: TruToolbarDropdown, selector: "tru-toolbar-dropdown", inputs: ["config", "options", "selectedOption", "disabled"], outputs: ["selectedOptionChange", "selectionChange"] }, { kind: "component", type: TruToolbarSeparator, selector: "tru-toolbar-separator" }], encapsulation: i0.ViewEncapsulation.None });
|
|
2794
|
+
TruDataGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDataGrid, deps: [{ token: TruDataContext }, { token: TruSearchResultViewManager }, { token: TruAppEnvironment }, { token: TruSearchViewEventHandler }, { token: TruUiNotification }, { token: TruConnectionHub }], target: i0.ɵɵFactoryTarget.Component });
|
|
2795
|
+
TruDataGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruDataGrid, selector: "tru-data-grid", inputs: { config: "config", entity: "entity", name: "name" }, host: { properties: { "class.tru-data-grid": "true" } }, usesOnChanges: true, ngImport: i0, template: "<div>\r\n <div class=\"tru-data-grid-toolbar-container\">\r\n <tru-toolbar>\r\n <tru-toolbar-dropdown [options]=\"unassociatedChoices\"\r\n [(selectedOption)]=\"selectedUnassociatedChoice\"\r\n (selectionChange)=\"onUnassociatedChoiceChanged($event)\"\r\n *ngIf=\"gridType == TruDataGridTypes.DetailManyToMany\">\r\n </tru-toolbar-dropdown>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-add-icon'\" [tooltip]=\"'Add - [Ctrl + I]'\" [disabled]=\"!canAdd()\" (onClick)=\"onAdd()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-delete-icon'\" [tooltip]=\"'Delete - [Ctrl + D]'\" (click)=\"onDelete()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-keep-icon'\" [tooltip]=\"'Keep selected records - [Ctrl + K]'\" (click)=\"onKeep()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-remove-icon'\" [tooltip]=\"'Remove selected records - [Ctrl + R]'\" (click)=\"onRemove()\"></tru-toolbar-button>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-star-empty-icon'\" [tooltip]=\"'Set this result view as default'\" (click)=\"onSetDefaultResultView()\" *ngIf=\"gridType == TruDataGridTypes.Search\"></tru-toolbar-button>\r\n <tru-toolbar-separator *ngIf=\"gridType == TruDataGridTypes.Search\"></tru-toolbar-separator>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-export-icon'\" [tooltip]=\"'Export'\" (click)=\"onExport()\"></tru-toolbar-button>\r\n </tru-toolbar>\r\n <ng-container *ngTemplateOutlet=\"parentToolbarTemplate\"></ng-container>\r\n </div>\r\n <div class=\"tru-data-grid-container\">\r\n <ag-grid-angular class=\"ag-theme-alpine\"\r\n [gridOptions]=\"gridOptions\"\r\n [rowData]=\"rowData\"\r\n [columnDefs]=\"columnDefs\"\r\n [headerHeight]=\"25\"\r\n [rowHeight]=\"25\"\r\n [overlayLoadingTemplate]=\"loadingTemplate\"\r\n [overlayNoRowsTemplate]=\"noRowsTemplate\"\r\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\r\n (rowDataChanged)=\"onRowDataChanged($event)\">\r\n </ag-grid-angular>\r\n </div>\r\n</div>\r\n", styles: [".tru-data-grid:first-of-type+.tru-data-grid{margin-left:5px}.tru-data-grid-toolbar-container{display:inline-flex}.tru-data-grid-container{min-height:200px}.detail-container .tru-data-grid{position:relative}ag-grid-angular{position:absolute;inset:28px 0 0;width:100%;height:100%}.ag-root-wrapper{border-top:0px!important}.ag-header-cell{padding-left:0!important;padding-right:0!important}.ag-header-cell-resize:after{top:unset!important;height:25px!important}.ag-header-row{font-weight:500!important}.ag-header-cell-label{justify-content:center}.ag-row .ag-cell-value{padding-left:2px!important;padding-right:2px!important}.ag-cell-inline-editing{height:24px!important}.ag-cell{border-right:solid #dde2eb 1px!important}.ag-has-focus .ag-cell-focus:not(.ag-cell-inline-editing){border-right:solid #2196f3 1px!important}.ag-pinned-left-cols-container .ag-cell.ag-cell-focus{border:solid #dde2eb 1px!important;border-top:0px!important;border-bottom:0px!important}.ag-pinned-left-cols-container .ag-row-selected .ag-cell{border:0px solid #dde2eb!important;border-right:2px solid #006dcc!important;color:#006dcc;font-weight:700;background-color:#ddd}.ag-pk-aligned-cell{text-align:center}.ag-horizontal-left-spacer{overflow:hidden}.ag-grid-row-has-changes-gradient{background-color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#fff,endColorstr=#ffffff);background-image:linear-gradient(top,#fff 0%,#ffffff 25%,#dbffdf 100%);background-image:-ms-linear-gradient(top,#fff 0%,#ffffff 25%,#dbffdf 100%);background-image:-webkit-gradient(linear,right top,right bottom,color-stop(0%,#fff),color-stop(25%,#ffffff),color-stop(100%,#dbffdf))}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "suppressServerSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: TruToolbar, selector: "tru-toolbar", inputs: ["config"] }, { kind: "component", type: TruToolbarButton, selector: "tru-toolbar-button", inputs: ["config", "icon", "text", "disabled", "tooltip", "type"], outputs: ["onClick", "onKeydown"] }, { kind: "component", type: TruToolbarDropdown, selector: "tru-toolbar-dropdown", inputs: ["config", "options", "selectedOption", "disabled"], outputs: ["selectedOptionChange", "selectionChange"] }, { kind: "component", type: TruToolbarSeparator, selector: "tru-toolbar-separator" }], encapsulation: i0.ViewEncapsulation.None });
|
|
2450
2796
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDataGrid, decorators: [{
|
|
2451
2797
|
type: Component,
|
|
2452
2798
|
args: [{ selector: 'tru-data-grid', encapsulation: ViewEncapsulation.None, host: { '[class.tru-data-grid]': 'true' }, template: "<div>\r\n <div class=\"tru-data-grid-toolbar-container\">\r\n <tru-toolbar>\r\n <tru-toolbar-dropdown [options]=\"unassociatedChoices\"\r\n [(selectedOption)]=\"selectedUnassociatedChoice\"\r\n (selectionChange)=\"onUnassociatedChoiceChanged($event)\"\r\n *ngIf=\"gridType == TruDataGridTypes.DetailManyToMany\">\r\n </tru-toolbar-dropdown>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-add-icon'\" [tooltip]=\"'Add - [Ctrl + I]'\" [disabled]=\"!canAdd()\" (onClick)=\"onAdd()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-delete-icon'\" [tooltip]=\"'Delete - [Ctrl + D]'\" (click)=\"onDelete()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-keep-icon'\" [tooltip]=\"'Keep selected records - [Ctrl + K]'\" (click)=\"onKeep()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-remove-icon'\" [tooltip]=\"'Remove selected records - [Ctrl + R]'\" (click)=\"onRemove()\"></tru-toolbar-button>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-star-empty-icon'\" [tooltip]=\"'Set this result view as default'\" (click)=\"onSetDefaultResultView()\" *ngIf=\"gridType == TruDataGridTypes.Search\"></tru-toolbar-button>\r\n <tru-toolbar-separator *ngIf=\"gridType == TruDataGridTypes.Search\"></tru-toolbar-separator>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-export-icon'\" [tooltip]=\"'Export'\" (click)=\"onExport()\"></tru-toolbar-button>\r\n </tru-toolbar>\r\n <ng-container *ngTemplateOutlet=\"parentToolbarTemplate\"></ng-container>\r\n </div>\r\n <div class=\"tru-data-grid-container\">\r\n <ag-grid-angular class=\"ag-theme-alpine\"\r\n [gridOptions]=\"gridOptions\"\r\n [rowData]=\"rowData\"\r\n [columnDefs]=\"columnDefs\"\r\n [headerHeight]=\"25\"\r\n [rowHeight]=\"25\"\r\n [overlayLoadingTemplate]=\"loadingTemplate\"\r\n [overlayNoRowsTemplate]=\"noRowsTemplate\"\r\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\r\n (rowDataChanged)=\"onRowDataChanged($event)\">\r\n </ag-grid-angular>\r\n </div>\r\n</div>\r\n", styles: [".tru-data-grid:first-of-type+.tru-data-grid{margin-left:5px}.tru-data-grid-toolbar-container{display:inline-flex}.tru-data-grid-container{min-height:200px}.detail-container .tru-data-grid{position:relative}ag-grid-angular{position:absolute;inset:28px 0 0;width:100%;height:100%}.ag-root-wrapper{border-top:0px!important}.ag-header-cell{padding-left:0!important;padding-right:0!important}.ag-header-cell-resize:after{top:unset!important;height:25px!important}.ag-header-row{font-weight:500!important}.ag-header-cell-label{justify-content:center}.ag-row .ag-cell-value{padding-left:2px!important;padding-right:2px!important}.ag-cell-inline-editing{height:24px!important}.ag-cell{border-right:solid #dde2eb 1px!important}.ag-has-focus .ag-cell-focus:not(.ag-cell-inline-editing){border-right:solid #2196f3 1px!important}.ag-pinned-left-cols-container .ag-cell.ag-cell-focus{border:solid #dde2eb 1px!important;border-top:0px!important;border-bottom:0px!important}.ag-pinned-left-cols-container .ag-row-selected .ag-cell{border:0px solid #dde2eb!important;border-right:2px solid #006dcc!important;color:#006dcc;font-weight:700;background-color:#ddd}.ag-pk-aligned-cell{text-align:center}.ag-horizontal-left-spacer{overflow:hidden}.ag-grid-row-has-changes-gradient{background-color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#fff,endColorstr=#ffffff);background-image:linear-gradient(top,#fff 0%,#ffffff 25%,#dbffdf 100%);background-image:-ms-linear-gradient(top,#fff 0%,#ffffff 25%,#dbffdf 100%);background-image:-webkit-gradient(linear,right top,right bottom,color-stop(0%,#fff),color-stop(25%,#ffffff),color-stop(100%,#dbffdf))}\n"] }]
|
|
2453
|
-
}], ctorParameters: function () { return [{ type: TruDataContext }, { type: TruSearchResultViewManager }, { type: TruAppEnvironment }, { type: TruSearchViewEventHandler }, { type: TruUiNotification }]; }, propDecorators: { config: [{
|
|
2799
|
+
}], ctorParameters: function () { return [{ type: TruDataContext }, { type: TruSearchResultViewManager }, { type: TruAppEnvironment }, { type: TruSearchViewEventHandler }, { type: TruUiNotification }, { type: TruConnectionHub }]; }, propDecorators: { config: [{
|
|
2454
2800
|
type: Input
|
|
2455
2801
|
}], entity: [{
|
|
2456
2802
|
type: Input
|
|
@@ -5607,41 +5953,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
5607
5953
|
}]
|
|
5608
5954
|
}] });
|
|
5609
5955
|
|
|
5610
|
-
const connection = new signalR.HubConnectionBuilder()
|
|
5611
|
-
.withUrl("https://localhost:44303/notificationhub", {
|
|
5612
|
-
skipNegotiation: true,
|
|
5613
|
-
transport: signalR.HttpTransportType.WebSockets,
|
|
5614
|
-
}).withAutomaticReconnect().build();
|
|
5615
|
-
class TruConnectionHub {
|
|
5616
|
-
constructor() {
|
|
5617
|
-
this.start = () => {
|
|
5618
|
-
connection.on("change", (value) => {
|
|
5619
|
-
console.log(JSON.parse(value));
|
|
5620
|
-
});
|
|
5621
|
-
try {
|
|
5622
|
-
Object.defineProperty(WebSocket, 'OPEN', { value: 1, });
|
|
5623
|
-
connection.start().then(() => {
|
|
5624
|
-
connection.invoke('getConnectionId')
|
|
5625
|
-
.then(function (connectionId) {
|
|
5626
|
-
console.log(`SignalR connection success! connectionId: ${connectionId}`);
|
|
5627
|
-
});
|
|
5628
|
-
});
|
|
5629
|
-
}
|
|
5630
|
-
catch (error) {
|
|
5631
|
-
console.log(`SignalR connection error: ${error}`);
|
|
5632
|
-
}
|
|
5633
|
-
};
|
|
5634
|
-
}
|
|
5635
|
-
}
|
|
5636
|
-
TruConnectionHub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruConnectionHub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5637
|
-
TruConnectionHub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruConnectionHub, providedIn: 'root' });
|
|
5638
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruConnectionHub, decorators: [{
|
|
5639
|
-
type: Injectable,
|
|
5640
|
-
args: [{
|
|
5641
|
-
providedIn: 'root',
|
|
5642
|
-
}]
|
|
5643
|
-
}], ctorParameters: function () { return []; } });
|
|
5644
|
-
|
|
5645
5956
|
class TruPredicateMap {
|
|
5646
5957
|
constructor() { }
|
|
5647
5958
|
}
|
|
@@ -5919,5 +6230,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
5919
6230
|
* Generated bundle index. Do not edit.
|
|
5920
6231
|
*/
|
|
5921
6232
|
|
|
5922
|
-
export { DetailViewModule, TruAppEnvironment, TruAuth, TruAuthInterceptor, TruBreezeContext, TruBreezeContextFactory, TruBreezeMetadataProvider, TruBreezeValidator, TruBreezeValidatorModule, TruChoice, TruColumn, TruColumnModule, TruCommonModule, TruComponentConfigBase, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruConnectionHub, TruContextFilter, TruContextFilterChoice, TruContextFilters, TruControlComponentConfigBase, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDesktop, TruDesktopManager, TruDesktopModule, TruDesktopViewConfig, TruDetailViewBase, TruEditControlBase, TruEditControlConfigBase, TruEditParentControlConfigBase, TruEditPkeyControlConfigBase, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruForm, TruFormModule, TruFormulaEval, TruGroupBox, TruGroupBoxModule, TruIconModule, TruLogin, TruLoginModule, TruPredicate, TruPredicateMap, TruPropertyConfigBase, TruPropertyConfigCloudFile, TruPropertyConfigDate, TruPropertyConfigDecimal, TruPropertyConfigFile, TruPropertyConfigForeignKey, TruPropertyConfigInteger, TruPropertyConfigPassword, TruPropertyConfigPercentage, TruPropertyConfigScientific, TruPropertyConfigText, TruPropertyConfigTextChoices, TruPropertyConfigUsaAddress, TruPropertyConfigZipCode, TruQueryPredicateManager, TruRow, TruRowModule, TruSearchConfigBase, TruSearchControlBase, TruSearchControlConfigBase, TruSearchControlRangeBase, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, TruSearchResultViewBase, TruSearchResultViewBaseModule, TruSearchResultViewManager, TruSearchViewBase, TruSearchViewBaseModule, TruSearchViewControlEventHandler, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTableRegistry, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruUiNotification, TruUser, TruUtil, TruValidationDialog, TruValidationDialogModule, TruWindowActionEventHandler, TruWindowEventArgs, TruWindowEventHandler };
|
|
6233
|
+
export { DetailViewModule, TruAppEnvironment, TruAuth, TruAuthInterceptor, TruBreezeContext, TruBreezeContextFactory, TruBreezeMetadataProvider, TruBreezeValidator, TruBreezeValidatorModule, TruChoice, TruColumn, TruColumnModule, TruCommonModule, TruComponentConfigBase, TruComponentLookup, TruConfirmDialog, TruConfirmDialogConfig, TruConfirmDialogModule, TruConnectionHub, TruContextFilter, TruContextFilterChoice, TruContextFilters, TruControlComponentConfigBase, TruDataContext, TruDataGrid, TruDataGridModule, TruDataGridTypes, TruDesktop, TruDesktopManager, TruDesktopModule, TruDesktopViewConfig, TruDetailViewBase, TruEditControlBase, TruEditControlConfigBase, TruEditParentControlConfigBase, TruEditPkeyControlConfigBase, TruEntityAccessor, TruEntityBase, TruExportDialog, TruExportDialogConfig, TruExportDialogModule, TruForm, TruFormModule, TruFormulaEval, TruGroupBox, TruGroupBoxModule, TruIconModule, TruLogin, TruLoginModule, TruModelPropertyLookup, TruPredicate, TruPredicateMap, TruPropertyConfigBase, TruPropertyConfigCloudFile, TruPropertyConfigDate, TruPropertyConfigDecimal, TruPropertyConfigFile, TruPropertyConfigForeignKey, TruPropertyConfigInteger, TruPropertyConfigPassword, TruPropertyConfigPercentage, TruPropertyConfigScientific, TruPropertyConfigText, TruPropertyConfigTextChoices, TruPropertyConfigUsaAddress, TruPropertyConfigZipCode, TruQueryPredicateManager, TruRow, TruRowModule, TruSearchConfigBase, TruSearchControlBase, TruSearchControlConfigBase, TruSearchControlRangeBase, TruSearchIconModule, TruSearchPanelPositionManager, TruSearchPanelPositionManagerModule, TruSearchResultViewBase, TruSearchResultViewBaseModule, TruSearchResultViewManager, TruSearchViewBase, TruSearchViewBaseModule, TruSearchViewControlEventHandler, TruSearchViewEventHandler, TruSort, TruTableConfigBase, TruTableRegistry, TruTextManager, TruToolbar, TruToolbarButton, TruToolbarButtonModule, TruToolbarContextFilter, TruToolbarContextFilterModule, TruToolbarDropdown, TruToolbarDropdownModule, TruToolbarMenu, TruToolbarMenuModule, TruToolbarModule, TruToolbarSeparator, TruToolbarSeparatorModule, TruToolbarText, TruToolbarTextModule, TruUiNotification, TruUser, TruUtil, TruValidationDialog, TruValidationDialogModule, TruWindowActionEventHandler, TruWindowEventArgs, TruWindowEventHandler };
|
|
5923
6234
|
//# sourceMappingURL=trudb-tru-common-lib.mjs.map
|