Skip to content

Commit 3bf8a7e

Browse files
Merge pull request #1596 from rocket-admin/feature/chart-widget-options-config
Feature/chart widget options config
2 parents 2b72b3b + 4cd4d24 commit 3bf8a7e

File tree

15 files changed

+1883
-515
lines changed

15 files changed

+1883
-515
lines changed

frontend/src/app/components/charts/chart-edit/chart-edit.component.css

Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,3 +269,265 @@
269269
vertical-align: middle;
270270
margin-right: 4px;
271271
}
272+
273+
/* Series section */
274+
.series-section {
275+
display: flex;
276+
flex-direction: column;
277+
gap: 12px;
278+
margin-top: 8px;
279+
}
280+
281+
.series-section .section-header h4 {
282+
margin: 0;
283+
font-size: 14px;
284+
font-weight: 500;
285+
}
286+
287+
.add-series-button {
288+
font-size: 13px;
289+
}
290+
291+
.add-series-button mat-icon {
292+
font-size: 18px;
293+
width: 18px;
294+
height: 18px;
295+
}
296+
297+
.series-card {
298+
border: 1px solid rgba(0, 0, 0, 0.12);
299+
border-radius: 4px;
300+
padding: 12px;
301+
}
302+
303+
@media (prefers-color-scheme: dark) {
304+
.series-card {
305+
border-color: rgba(255, 255, 255, 0.12);
306+
}
307+
}
308+
309+
.series-card-header {
310+
display: flex;
311+
align-items: center;
312+
justify-content: space-between;
313+
margin-bottom: 8px;
314+
}
315+
316+
.series-number {
317+
font-size: 12px;
318+
font-weight: 500;
319+
text-transform: uppercase;
320+
color: rgba(0, 0, 0, 0.54);
321+
}
322+
323+
@media (prefers-color-scheme: dark) {
324+
.series-number {
325+
color: rgba(255, 255, 255, 0.54);
326+
}
327+
}
328+
329+
.remove-series-button {
330+
width: 28px !important;
331+
height: 28px !important;
332+
line-height: 28px !important;
333+
}
334+
335+
.remove-series-button mat-icon {
336+
font-size: 16px;
337+
width: 16px;
338+
height: 16px;
339+
}
340+
341+
.series-fields {
342+
display: flex;
343+
gap: 12px;
344+
flex-wrap: wrap;
345+
}
346+
347+
.series-field {
348+
flex: 1;
349+
min-width: 120px;
350+
}
351+
352+
/* Color picker */
353+
.series-color-picker {
354+
display: flex;
355+
flex-direction: column;
356+
gap: 4px;
357+
min-width: 80px;
358+
}
359+
360+
.color-picker-label {
361+
font-size: 12px;
362+
color: rgba(0, 0, 0, 0.6);
363+
}
364+
365+
@media (prefers-color-scheme: dark) {
366+
.color-picker-label {
367+
color: rgba(255, 255, 255, 0.6);
368+
}
369+
}
370+
371+
.color-picker-row {
372+
display: flex;
373+
align-items: center;
374+
gap: 6px;
375+
}
376+
377+
.color-input {
378+
width: 36px;
379+
height: 36px;
380+
padding: 2px;
381+
border: 1px solid rgba(0, 0, 0, 0.12);
382+
border-radius: 4px;
383+
cursor: pointer;
384+
background: none;
385+
}
386+
387+
@media (prefers-color-scheme: dark) {
388+
.color-input {
389+
border-color: rgba(255, 255, 255, 0.12);
390+
}
391+
}
392+
393+
.color-input::-webkit-color-swatch-wrapper {
394+
padding: 2px;
395+
}
396+
397+
.color-input::-webkit-color-swatch {
398+
border: none;
399+
border-radius: 2px;
400+
}
401+
402+
.color-input::-moz-color-swatch {
403+
border: none;
404+
border-radius: 2px;
405+
}
406+
407+
.color-reset-button {
408+
width: 24px !important;
409+
height: 24px !important;
410+
line-height: 24px !important;
411+
}
412+
413+
.color-reset-button mat-icon {
414+
font-size: 14px;
415+
width: 14px;
416+
height: 14px;
417+
}
418+
419+
.color-auto-label {
420+
font-size: 12px;
421+
color: rgba(0, 0, 0, 0.38);
422+
}
423+
424+
@media (prefers-color-scheme: dark) {
425+
.color-auto-label {
426+
color: rgba(255, 255, 255, 0.38);
427+
}
428+
}
429+
430+
/* Palette colors */
431+
.palette-colors {
432+
display: flex;
433+
flex-wrap: wrap;
434+
gap: 8px;
435+
}
436+
437+
.palette-color-item {
438+
display: flex;
439+
align-items: center;
440+
gap: 2px;
441+
}
442+
443+
.color-remove-button {
444+
width: 24px !important;
445+
height: 24px !important;
446+
line-height: 24px !important;
447+
}
448+
449+
.color-remove-button mat-icon {
450+
font-size: 14px;
451+
width: 14px;
452+
height: 14px;
453+
}
454+
455+
.series-mode-field {
456+
min-width: 160px;
457+
font-size: 13px;
458+
}
459+
460+
.series-column-config {
461+
display: flex;
462+
gap: 12px;
463+
flex-wrap: wrap;
464+
}
465+
466+
.palette-actions {
467+
display: flex;
468+
gap: 8px;
469+
flex-wrap: wrap;
470+
margin-top: 4px;
471+
}
472+
473+
.add-color-button {
474+
font-size: 13px;
475+
}
476+
477+
.add-color-button mat-icon {
478+
font-size: 18px;
479+
width: 18px;
480+
height: 18px;
481+
}
482+
483+
.series-field--small {
484+
max-width: 100px;
485+
min-width: 80px;
486+
}
487+
488+
.series-options {
489+
display: flex;
490+
gap: 16px;
491+
align-items: center;
492+
flex-wrap: wrap;
493+
margin-top: 4px;
494+
}
495+
496+
/* Advanced options accordion */
497+
.advanced-options {
498+
margin-top: 8px;
499+
}
500+
501+
.option-group {
502+
display: flex;
503+
flex-direction: column;
504+
gap: 12px;
505+
padding: 4px 0;
506+
}
507+
508+
.option-field {
509+
min-width: 120px;
510+
}
511+
512+
.inline-fields {
513+
display: flex;
514+
gap: 12px;
515+
flex-wrap: wrap;
516+
}
517+
518+
.inline-fields .option-field {
519+
flex: 1;
520+
}
521+
522+
.axis-label {
523+
margin: 8px 0 0;
524+
font-size: 13px;
525+
font-weight: 500;
526+
color: rgba(0, 0, 0, 0.6);
527+
}
528+
529+
@media (prefers-color-scheme: dark) {
530+
.axis-label {
531+
color: rgba(255, 255, 255, 0.6);
532+
}
533+
}

0 commit comments

Comments
 (0)