@admin-layout/tailwind-design-pro 12.0.16-alpha.53 → 12.0.16-alpha.55
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/lib/components/Layout/TailwindLayout.js +2 -2
- package/lib/components/Layout/TailwindLayout.js.map +1 -1
- package/lib/components/SettingDrawer/InvitationSettings.d.ts.map +1 -1
- package/lib/components/SettingDrawer/InvitationSettings.js +16 -5
- package/lib/components/SettingDrawer/InvitationSettings.js.map +1 -1
- package/lib/components/SettingDrawer/LayoutChange.d.ts.map +1 -1
- package/lib/components/SettingDrawer/LayoutChange.js +43 -11
- package/lib/components/SettingDrawer/LayoutChange.js.map +1 -1
- package/lib/components/SettingDrawer/NavigationsModes.d.ts.map +1 -1
- package/lib/components/SettingDrawer/NavigationsModes.js +47 -8
- package/lib/components/SettingDrawer/NavigationsModes.js.map +1 -1
- package/lib/components/SettingDrawer/RegionalSettings.d.ts.map +1 -1
- package/lib/components/SettingDrawer/RegionalSettings.js +50 -29
- package/lib/components/SettingDrawer/RegionalSettings.js.map +1 -1
- package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
- package/lib/components/SettingDrawer/SettingDrawer.js +75 -63
- package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
- package/lib/config/env-config.d.ts +0 -1
- package/lib/config/env-config.d.ts.map +1 -1
- package/lib/config/env-config.js +0 -3
- package/lib/config/env-config.js.map +1 -1
- package/lib/machines/settingsMachine.d.ts.map +1 -1
- package/lib/machines/settingsMachine.js +33 -52
- package/lib/machines/settingsMachine.js.map +1 -1
- package/lib/machines/settingsMachine.test.d.ts +2 -0
- package/lib/machines/settingsMachine.test.d.ts.map +1 -0
- package/lib/machines/types.d.ts +1 -63
- package/lib/machines/types.d.ts.map +1 -1
- package/lib/utils/configOverrides.js +239 -1
- package/lib/utils/configOverrides.js.map +1 -1
- package/lib/utils/settingsUtils.d.ts +2 -2
- package/lib/utils/settingsUtils.d.ts.map +1 -1
- package/lib/utils/settingsUtils.js +29 -56
- package/lib/utils/settingsUtils.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/machines/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAChH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,eAAe,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7C,oBAAY,iBAAiB;IACzB,SAAS,cAAc;IACvB,SAAS,cAAc;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,CAAC,EAAE;QACL,OAAO,EAAE;YACL,cAAc,EAAE,cAAc,CAAC;YAC/B,YAAY,EAAE,YAAY,CAAC;YAC3B,YAAY,EAAE,YAAY,CAAC;YAC3B,WAAW,EAAE,OAAO,CAAC;YACrB,YAAY,EAAE,OAAO,CAAC;YACtB,UAAU,EAAE,OAAO,CAAC;YACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;YAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;QACF,MAAM,EAAE;YACJ,cAAc,EAAE,cAAc,CAAC;YAC/B,YAAY,EAAE,YAAY,CAAC;YAC3B,YAAY,EAAE,YAAY,CAAC;YAC3B,WAAW,EAAE,OAAO,CAAC;YACrB,YAAY,EAAE,OAAO,CAAC;YACtB,UAAU,EAAE,OAAO,CAAC;YACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;YAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;KACL,CAAC;IACF,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/machines/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,44 @@
|
|
|
72
72
|
* parseMultipleBracketIdentifiers("[/dashboard.mobile]") // Backward compatibility
|
|
73
73
|
* // Returns: ['/dashboard', 'mobile']
|
|
74
74
|
*/
|
|
75
|
+
function parseMultipleBracketIdentifiers(overrideKey) {
|
|
76
|
+
const identifiers = [];
|
|
77
|
+
// Match all bracket pairs: [something]
|
|
78
|
+
const bracketMatches = overrideKey.match(/\[([^\]]+)\]/g);
|
|
79
|
+
if (!bracketMatches) {
|
|
80
|
+
return identifiers;
|
|
81
|
+
}
|
|
82
|
+
// If there's only one bracket, check if it contains a dot (old format)
|
|
83
|
+
if (bracketMatches.length === 1) {
|
|
84
|
+
const content = bracketMatches[0].slice(1, -1); // Remove brackets
|
|
85
|
+
// Check if it's the old format with dot notation
|
|
86
|
+
if (content.includes('.')) {
|
|
87
|
+
const parts = content.split('.');
|
|
88
|
+
// Handle [.device] pattern
|
|
89
|
+
if (parts[0] === '' && parts[1]) {
|
|
90
|
+
identifiers.push(parts[1]);
|
|
91
|
+
}
|
|
92
|
+
// Handle [route.device] pattern
|
|
93
|
+
else {
|
|
94
|
+
parts.forEach(part => {
|
|
95
|
+
if (part) identifiers.push(part);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
} else {
|
|
99
|
+
// Single identifier without dot
|
|
100
|
+
identifiers.push(content);
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
// Multiple brackets: extract content from each
|
|
104
|
+
bracketMatches.forEach(match => {
|
|
105
|
+
const content = match.slice(1, -1); // Remove brackets
|
|
106
|
+
if (content) {
|
|
107
|
+
identifiers.push(content);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return identifiers;
|
|
112
|
+
}
|
|
75
113
|
/**
|
|
76
114
|
* Convert a dot-notation path to a nested object
|
|
77
115
|
* @example
|
|
@@ -114,4 +152,204 @@ function getNestedValue(obj, path, defaultValue) {
|
|
|
114
152
|
current = current[key];
|
|
115
153
|
}
|
|
116
154
|
return current !== undefined ? current : defaultValue;
|
|
117
|
-
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Build an override context key from context
|
|
158
|
+
*
|
|
159
|
+
* Format: [route][device] or [route] or [device]
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* buildOverrideKey({ route: '/dashboard', device: 'mobile' })
|
|
163
|
+
* // Returns: "[/dashboard][mobile]"
|
|
164
|
+
*
|
|
165
|
+
* buildOverrideKey({ route: '/dashboard' })
|
|
166
|
+
* // Returns: "[/dashboard]"
|
|
167
|
+
*
|
|
168
|
+
* buildOverrideKey({ device: 'mobile' })
|
|
169
|
+
* // Returns: "[mobile]"
|
|
170
|
+
*/
|
|
171
|
+
function buildOverrideKey(context) {
|
|
172
|
+
const {
|
|
173
|
+
route,
|
|
174
|
+
device,
|
|
175
|
+
...rest
|
|
176
|
+
} = context;
|
|
177
|
+
// Handle route and device specifically - use multiple bracket format
|
|
178
|
+
if (route && device) {
|
|
179
|
+
return `[${route}][${device}]`;
|
|
180
|
+
} else if (route) {
|
|
181
|
+
return `[${route}]`;
|
|
182
|
+
} else if (device) {
|
|
183
|
+
return `[${device}]`;
|
|
184
|
+
}
|
|
185
|
+
// Fallback for other context keys (future extensibility)
|
|
186
|
+
const parts = [];
|
|
187
|
+
for (const [key, value] of Object.entries(rest)) {
|
|
188
|
+
if (value !== undefined && value !== null) {
|
|
189
|
+
parts.push(`${key}=${value}`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (parts.length > 0) {
|
|
193
|
+
return `[${parts.join(',')}]`;
|
|
194
|
+
}
|
|
195
|
+
return '';
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Parse an override key into its components
|
|
199
|
+
* Supports both new multiple bracket format and legacy dot notation
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* parseOverrideKey("[/dashboard][mobile]") // New format
|
|
203
|
+
* // Returns: { route: '/dashboard', device: 'mobile' }
|
|
204
|
+
*
|
|
205
|
+
* parseOverrideKey("[/dashboard.mobile]") // Legacy format
|
|
206
|
+
* // Returns: { route: '/dashboard', device: 'mobile' }
|
|
207
|
+
*
|
|
208
|
+
* parseOverrideKey("[/dashboard]")
|
|
209
|
+
* // Returns: { route: '/dashboard' }
|
|
210
|
+
*
|
|
211
|
+
* parseOverrideKey("[mobile]")
|
|
212
|
+
* // Returns: { device: 'mobile' }
|
|
213
|
+
*
|
|
214
|
+
* parseOverrideKey("[.mobile]") // Legacy device-only format
|
|
215
|
+
* // Returns: { device: 'mobile' }
|
|
216
|
+
*/
|
|
217
|
+
function parseOverrideKey(overrideKey) {
|
|
218
|
+
const context = {};
|
|
219
|
+
// First try multiple bracket pattern: [/route][device]
|
|
220
|
+
const multipleBracketMatch = overrideKey.match(/^(\[[^\]]+\])+$/);
|
|
221
|
+
if (multipleBracketMatch) {
|
|
222
|
+
const identifiers = parseMultipleBracketIdentifiers(overrideKey);
|
|
223
|
+
identifiers.forEach(identifier => {
|
|
224
|
+
if (identifier.startsWith('/')) {
|
|
225
|
+
context.route = identifier;
|
|
226
|
+
} else if (identifier === 'mobile' || identifier === 'desktop') {
|
|
227
|
+
context.device = identifier;
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
return context;
|
|
231
|
+
}
|
|
232
|
+
// Fallback to legacy single bracket pattern: [route.device] or [route] or [.device]
|
|
233
|
+
const match = overrideKey.match(/^\[([^\]]+)\]$/);
|
|
234
|
+
if (!match) {
|
|
235
|
+
return context;
|
|
236
|
+
}
|
|
237
|
+
const content = match[1];
|
|
238
|
+
// Check if it contains a dot
|
|
239
|
+
if (content.includes('.')) {
|
|
240
|
+
const parts = content.split('.');
|
|
241
|
+
// Handle [.device] pattern
|
|
242
|
+
if (parts[0] === '') {
|
|
243
|
+
context.device = parts[1];
|
|
244
|
+
}
|
|
245
|
+
// Handle [route.device] pattern
|
|
246
|
+
else {
|
|
247
|
+
context.route = parts[0];
|
|
248
|
+
if (parts[1]) {
|
|
249
|
+
context.device = parts[1];
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
} else {
|
|
253
|
+
// Handle [route] pattern (no dot means route only)
|
|
254
|
+
context.route = content;
|
|
255
|
+
}
|
|
256
|
+
return context;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Get a configuration value with override support
|
|
260
|
+
*
|
|
261
|
+
* Priority:
|
|
262
|
+
* 1. Most specific override (all context matches)
|
|
263
|
+
* 2. Partial overrides (some context matches)
|
|
264
|
+
* 3. Base configuration value
|
|
265
|
+
* 4. Default value
|
|
266
|
+
*
|
|
267
|
+
* Works with nested storage where overrides are stored as:
|
|
268
|
+
* { "[route=/dashboard][device=mobile]": { uilayout: { regions: { header: { showLogo: false } } } } }
|
|
269
|
+
*/
|
|
270
|
+
function getConfigValue(settings, configKey, context, defaultValue) {
|
|
271
|
+
// Build the context key
|
|
272
|
+
const contextKey = buildOverrideKey(context);
|
|
273
|
+
// Check for exact override in nested structure
|
|
274
|
+
if (contextKey && settings?.[contextKey]) {
|
|
275
|
+
const overrideValue = getNestedValue(settings[contextKey], `uilayout.${configKey}`);
|
|
276
|
+
if (overrideValue !== undefined) {
|
|
277
|
+
return overrideValue;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// Check for partial overrides with priority:
|
|
281
|
+
// 1. [route.device] (most specific)
|
|
282
|
+
// 2. [route] (route only)
|
|
283
|
+
// 3. [.device] (device only)
|
|
284
|
+
if (settings) {
|
|
285
|
+
const partialMatches = [];
|
|
286
|
+
for (const key of Object.keys(settings)) {
|
|
287
|
+
// Only check keys that look like context keys (start with '[')
|
|
288
|
+
if (!key.startsWith('[')) continue;
|
|
289
|
+
const parsed = parseOverrideKey(key);
|
|
290
|
+
// Check if this override matches current context
|
|
291
|
+
let matches = true;
|
|
292
|
+
let specificity = 0;
|
|
293
|
+
if (parsed.route !== undefined) {
|
|
294
|
+
if (parsed.route === context.route) {
|
|
295
|
+
specificity += 2; // Route match is worth 2 points
|
|
296
|
+
} else {
|
|
297
|
+
matches = false;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
if (parsed.device !== undefined) {
|
|
301
|
+
if (parsed.device === context.device) {
|
|
302
|
+
specificity += 1; // Device match is worth 1 point
|
|
303
|
+
} else {
|
|
304
|
+
matches = false;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
if (matches && specificity > 0) {
|
|
308
|
+
partialMatches.push({
|
|
309
|
+
key,
|
|
310
|
+
specificity
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
// Use the most specific override
|
|
315
|
+
if (partialMatches.length > 0) {
|
|
316
|
+
const mostSpecific = partialMatches.reduce((a, b) => a.specificity > b.specificity ? a : b);
|
|
317
|
+
const overrideValue = getNestedValue(settings[mostSpecific.key], `uilayout.${configKey}`);
|
|
318
|
+
if (overrideValue !== undefined) {
|
|
319
|
+
return overrideValue;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
// Check base configuration
|
|
324
|
+
const baseValue = getNestedValue(settings, `uilayout.${configKey}`);
|
|
325
|
+
if (baseValue !== undefined) {
|
|
326
|
+
return baseValue;
|
|
327
|
+
}
|
|
328
|
+
return defaultValue;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Set a configuration value as an override
|
|
332
|
+
*
|
|
333
|
+
* Returns the context key and nested value structure.
|
|
334
|
+
* The service layer will merge this into the settings object.
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* const result = setConfigOverride('regions.header.showLogo', false, { route: '/dashboard', device: 'mobile' });
|
|
338
|
+
* // Returns: {
|
|
339
|
+
* // contextKey: '[device=mobile][route=/dashboard]',
|
|
340
|
+
* // path: 'uilayout.regions.header.showLogo',
|
|
341
|
+
* // value: false,
|
|
342
|
+
* // nestedValue: { uilayout: { regions: { header: { showLogo: false } } } }
|
|
343
|
+
* // }
|
|
344
|
+
*/
|
|
345
|
+
function setConfigOverride(configKey, value, context) {
|
|
346
|
+
const contextKey = buildOverrideKey(context);
|
|
347
|
+
const path = `uilayout.${configKey}`;
|
|
348
|
+
const nestedValue = setNestedValue({}, path, value);
|
|
349
|
+
return {
|
|
350
|
+
contextKey,
|
|
351
|
+
path,
|
|
352
|
+
value,
|
|
353
|
+
nestedValue
|
|
354
|
+
};
|
|
355
|
+
}export{buildOverrideKey,getConfigValue,getNestedValue,parseMultipleBracketIdentifiers,parseOverrideKey,setConfigOverride,setNestedValue};//# sourceMappingURL=configOverrides.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configOverrides.js","sources":["../../src/utils/configOverrides.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DG;AAUH;;;;;;;;;;;;;AAaG;;;;;
|
|
1
|
+
{"version":3,"file":"configOverrides.js","sources":["../../src/utils/configOverrides.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Get a setting value based on applyToAllRoutes flag and current route/device context
|
|
3
|
-
* @param machineSettings - The settings object from XState machine
|
|
3
|
+
* @param machineSettings - The settings object from XState machine
|
|
4
4
|
* @param settingName - The setting key to retrieve (e.g., 'fixedHeader', 'organization.members.invitations')
|
|
5
5
|
* @param applyToAllRoutes - Whether to use global or route-specific overrides
|
|
6
6
|
* @param currentRoute - Current route path
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
export declare const getSettingValue: (machineSettings: any, settingName: string, applyToAllRoutes: boolean, currentRoute: string, deviceType: "desktop" | "mobile", defaultValue?: any) => any;
|
|
12
12
|
/**
|
|
13
13
|
* Calculate the default value for applyToAllRoutes based on what overrides exist
|
|
14
|
-
* @param settings - The full settings object with
|
|
14
|
+
* @param settings - The full settings object with ConfigurationModel
|
|
15
15
|
* @param currentRoute - Current route path
|
|
16
16
|
* @param deviceType - Current device type ('desktop' or 'mobile')
|
|
17
17
|
* @returns The default value for applyToAllRoutes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settingsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/settingsUtils.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GACxB,iBAAiB,GAAG,EACpB,aAAa,MAAM,EACnB,kBAAkB,OAAO,EACzB,cAAc,MAAM,EACpB,YAAY,SAAS,GAAG,QAAQ,EAChC,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"settingsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/settingsUtils.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GACxB,iBAAiB,GAAG,EACpB,aAAa,MAAM,EACnB,kBAAkB,OAAO,EACzB,cAAc,MAAM,EACpB,YAAY,SAAS,GAAG,QAAQ,EAChC,eAAe,GAAG,QA8BrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACnC,UAAU,GAAG,EACb,cAAc,MAAM,EACpB,YAAY,SAAS,GAAG,QAAQ,KACjC,OA2BF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {getNestedValue}from'./configOverrides.js';/**
|
|
2
2
|
* Get a setting value based on applyToAllRoutes flag and current route/device context
|
|
3
|
-
* @param machineSettings - The settings object from XState machine
|
|
3
|
+
* @param machineSettings - The settings object from XState machine
|
|
4
4
|
* @param settingName - The setting key to retrieve (e.g., 'fixedHeader', 'organization.members.invitations')
|
|
5
5
|
* @param applyToAllRoutes - Whether to use global or route-specific overrides
|
|
6
6
|
* @param currentRoute - Current route path
|
|
@@ -9,76 +9,49 @@ import {getNestedValue}from'./configOverrides.js';/**
|
|
|
9
9
|
* @returns The setting value from the appropriate scope
|
|
10
10
|
*/
|
|
11
11
|
const getSettingValue = (machineSettings, settingName, applyToAllRoutes, currentRoute, deviceType, defaultValue) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
// Remove any overrides that might have been applied to the top level
|
|
19
|
-
if (overrides) {
|
|
20
|
-
// Remove global device overrides
|
|
21
|
-
const deviceKey = `[${deviceType}]`;
|
|
22
|
-
const deviceOverride = overrides[deviceKey];
|
|
23
|
-
if (deviceOverride?.uilayout) {
|
|
24
|
-
Object.keys(deviceOverride.uilayout).forEach(key => {
|
|
25
|
-
delete cleanSettings[key];
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
// Remove route-specific overrides
|
|
29
|
-
const routeDeviceKey = `[${currentRoute}][${deviceType}]`;
|
|
30
|
-
const routeOverride = overrides[routeDeviceKey];
|
|
31
|
-
if (routeOverride?.uilayout) {
|
|
32
|
-
Object.keys(routeOverride.uilayout).forEach(key => {
|
|
33
|
-
delete cleanSettings[key];
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return cleanSettings;
|
|
38
|
-
};
|
|
12
|
+
if (!machineSettings) {
|
|
13
|
+
return defaultValue;
|
|
14
|
+
}
|
|
15
|
+
// Try to get from changedSettings first (most recent updates)
|
|
16
|
+
const changedSettings = machineSettings?.changedSettings || {};
|
|
39
17
|
if (applyToAllRoutes) {
|
|
40
|
-
// Global mode: look for [device].uilayout.settingName
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const value = getNestedValue(deviceOverride.uilayout, settingName);
|
|
45
|
-
if (value !== undefined) {
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
18
|
+
// Global mode: look for [device].uilayout.settingName in changedSettings
|
|
19
|
+
const globalKey = `[${deviceType}].uilayout.${settingName}`;
|
|
20
|
+
if (changedSettings[globalKey] !== undefined) {
|
|
21
|
+
return changedSettings[globalKey];
|
|
48
22
|
}
|
|
49
|
-
//
|
|
50
|
-
const
|
|
51
|
-
return
|
|
23
|
+
// Fall back to context value
|
|
24
|
+
const value = getNestedValue(machineSettings, settingName);
|
|
25
|
+
return value !== undefined ? value : defaultValue;
|
|
52
26
|
} else {
|
|
53
|
-
// Route-specific mode: look for [route][device].uilayout.settingName
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const value = getNestedValue(routeOverride.uilayout, settingName);
|
|
58
|
-
if (value !== undefined) {
|
|
59
|
-
return value;
|
|
60
|
-
}
|
|
27
|
+
// Route-specific mode: look for [route][device].uilayout.settingName in changedSettings
|
|
28
|
+
const routeKey = `[${currentRoute}][${deviceType}].uilayout.${settingName}`;
|
|
29
|
+
if (changedSettings[routeKey] !== undefined) {
|
|
30
|
+
return changedSettings[routeKey];
|
|
61
31
|
}
|
|
62
|
-
//
|
|
63
|
-
const
|
|
64
|
-
return
|
|
32
|
+
// Fall back to context value (which has route-specific overrides if on that route)
|
|
33
|
+
const value = getNestedValue(machineSettings, settingName);
|
|
34
|
+
return value !== undefined ? value : defaultValue;
|
|
65
35
|
}
|
|
66
36
|
};
|
|
67
37
|
/**
|
|
68
38
|
* Calculate the default value for applyToAllRoutes based on what overrides exist
|
|
69
|
-
* @param settings - The full settings object with
|
|
39
|
+
* @param settings - The full settings object with ConfigurationModel
|
|
70
40
|
* @param currentRoute - Current route path
|
|
71
41
|
* @param deviceType - Current device type ('desktop' or 'mobile')
|
|
72
42
|
* @returns The default value for applyToAllRoutes
|
|
73
43
|
*/
|
|
74
44
|
const getDefaultApplyToAllRoutes = (settings, currentRoute, deviceType) => {
|
|
75
|
-
const
|
|
45
|
+
const configModel = settings?.configModel;
|
|
46
|
+
if (!configModel) {
|
|
47
|
+
return false; // Default to route-specific if no configModel
|
|
48
|
+
}
|
|
76
49
|
const routeDeviceKey = `[${currentRoute}][${deviceType}]`;
|
|
77
50
|
const deviceKey = `[${deviceType}]`;
|
|
78
|
-
// Check if route-specific override exists
|
|
79
|
-
const hasRouteOverride =
|
|
80
|
-
// Check if global override exists
|
|
81
|
-
const hasGlobalOverride =
|
|
51
|
+
// Check if route-specific override exists by looking at the overrides array
|
|
52
|
+
const hasRouteOverride = configModel.overrides?.some(override => override.identifiers?.includes(routeDeviceKey));
|
|
53
|
+
// Check if global override exists by looking at the overrides array
|
|
54
|
+
const hasGlobalOverride = configModel.overrides?.some(override => override.identifiers?.includes(deviceKey));
|
|
82
55
|
// If route has its own override, use route-specific (applyToAllRoutes = false)
|
|
83
56
|
if (hasRouteOverride) {
|
|
84
57
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settingsUtils.js","sources":["../../src/utils/settingsUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"kDAEA;;;;;;;;;AASG;AACI,MAAM,eAAe,GAAG,CAC3B,eAAoB,EACpB,WAAmB,EACnB,gBAAyB,EACzB,YAAoB,EACpB,UAAgC,EAChC,YAAkB,KAClB;
|
|
1
|
+
{"version":3,"file":"settingsUtils.js","sources":["../../src/utils/settingsUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"kDAEA;;;;;;;;;AASG;AACI,MAAM,eAAe,GAAG,CAC3B,eAAoB,EACpB,WAAmB,EACnB,gBAAyB,EACzB,YAAoB,EACpB,UAAgC,EAChC,YAAkB,KAClB;MACA,CAAA,eAAK,EAAe;AAChB,IAAA,OAAA;;;AAIJ,EAAA,MAAA,kBAAqB,eAAG,EAAe,eAAE,IAAe,EAAI;MAE5D,gBAAI,EAAgB;;AAEhB,IAAA,MAAA,aAAe,CAAA,EAAG,sBAAc,EAAA,WAAc,CAAA,CAAA;AAC9C,IAAA,IAAA,yBAAoB,CAAA,KAAU,SAAK,EAAA;AAC/B,MAAA,OAAA,eAAO,CAAA,SAAgB,CAAA;;;UAI3B,KAAM,GAAA,cAAQ,CAAA,4BAAgC,CAAA;WAC9C,KAAO,KAAK,SAAK,GAAA,KAAY,GAAA,YAAQ;SACxC;;UACG,QAAA,GAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,EAAA,UAAA,CAAA,WAAA,EAAA,WAAA,CAAA,CAAA;QACA,wBAAqB,CAAA,KAAA,SAAiB,EAAA;AACtC,MAAA,sBAAoB,CAAA,QAAS,CAAA;AACzB,IAAA;;UAGJ,KAAA,GAAA,cAAA,CAAA,eAAA,EAAA,WAAA,CAAA;WACA,KAAM,cAAQ,GAAA,oBAA8B;;;AAGpD;AAEA;;;;;;AAMG,MAAA,0BAAA,GAAA,CAAA,QAAA,EAAA,YAAA,EAAA,UAAA,KAAA;AACH,EAAA,MAAO,WAAM,GAAA,QAAA,EAAA,WACT;AAIA,EAAA,IAAA,CAAA,WAAM,EAAA;IACN,OAAK,KAAA,CAAA;;QAEJ,cAAA,GAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,EAAA,UAAA,CAAA,CAAA,CAAA;AAED,EAAA,MAAA,gBAAoB;AACpB;QAEA,gBAAA,GAAA,WAAA,CAAA,SAAA,EAAA,IAAA,CAAA,QAAA,IAAA,QAAA,CAAA,WAA4E,EAAA,QAAA,CAAA,cAAA,CAAA,CAAA;;QAG5E,iBAAA,GAAA,WAAA,CAAA,SAAA,EAAA,IAAA,CAAA,QAAA,IAAA,QAAoE,CAAA,WAAA,EAAA,QAAA,CAAA,SAAA,CAAA,CAAA;;MAGpE,gBAAA,EAAA;IACA,OAAI,KAAA;AACA,EAAA;;MAGJ,iBAAA,EAAA;IACA,OAAI,IAAA;AACA,EAAA;;SAGJ,KAAA;AACA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@admin-layout/tailwind-design-pro",
|
|
3
|
-
"version": "12.0.16-alpha.
|
|
3
|
+
"version": "12.0.16-alpha.55",
|
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@admin-layout/assets": "12.0.16-alpha.36",
|
|
25
|
-
"@admin-layout/client": "12.0.16-alpha.
|
|
26
|
-
"@admin-layout/tailwind-ui": "12.0.16-alpha.
|
|
25
|
+
"@admin-layout/client": "12.0.16-alpha.55",
|
|
26
|
+
"@admin-layout/tailwind-ui": "12.0.16-alpha.55",
|
|
27
27
|
"react-favicon": "^0.0.23",
|
|
28
28
|
"react-intl": "^6.1.1",
|
|
29
29
|
"react-responsive": "^10.0.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@adminide-stack/extension-api": "^12.0.4-alpha.
|
|
32
|
+
"@adminide-stack/extension-api": "^12.0.4-alpha.311",
|
|
33
33
|
"@tailwindcss/aspect-ratio": "^0.4.2",
|
|
34
34
|
"@tailwindcss/forms": "^0.5.4",
|
|
35
35
|
"@tailwindcss/typography": "^0.5.9",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"typescript": {
|
|
54
54
|
"definition": "lib/index.d.ts"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "e874eab61e1653793929285221297b0aa2761a96"
|
|
57
57
|
}
|