@trudb/tru-common-lib 0.1.282 → 0.1.284

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.
@@ -2641,8 +2641,6 @@ class TruCardColumn {
2641
2641
  childTablePluralLabel;
2642
2642
  parentQuery = null;
2643
2643
  lockProperty;
2644
- unassignedVisible;
2645
- unassignedName;
2646
2644
  unassignedLocked;
2647
2645
  unassignedDraggable;
2648
2646
  unassignedDroppable;
@@ -2667,13 +2665,15 @@ class TruCardColumn {
2667
2665
  color;
2668
2666
  unassignedColor;
2669
2667
  key;
2668
+ unassignedVisible;
2669
+ unassignedName;
2670
+ userHasParentTableRole = true; //parentTableModel.canDisplay;
2670
2671
  constructor(dataContext, modelTypeLookup, searchViewEventHandler) {
2671
2672
  this.dataContext = dataContext;
2672
2673
  this.modelTypeLookup = modelTypeLookup;
2673
2674
  this.searchViewEventHandler = searchViewEventHandler;
2674
2675
  }
2675
2676
  parentTableModel = null; //dataService.model.tables[parentTableName];
2676
- userHasParentTableRole = null; //parentTableModel.canDisplay;
2677
2677
  createDataForEntity = (entity) => {
2678
2678
  var data = this.config.resultConfig.rowDataEnhancer();
2679
2679
  return data;
@@ -3131,15 +3131,16 @@ class CardView {
3131
3131
  }
3132
3132
  class Column {
3133
3133
  cardColumn;
3134
- data;
3135
3134
  cards = [];
3136
3135
  locked;
3137
3136
  parentElement;
3138
3137
  columnElement;
3138
+ data;
3139
3139
  cardScrollPortElement;
3140
3140
  selectAllButton;
3141
3141
  constructor(cardColumn, data, parentElement, locked, index) {
3142
3142
  this.cardColumn = cardColumn;
3143
+ this.data = data;
3143
3144
  this.locked = locked;
3144
3145
  this.parentElement = parentElement;
3145
3146
  let columnElement = document.createElement('div');
@@ -3151,7 +3152,7 @@ class Column {
3151
3152
  this.columnElement = columnElement;
3152
3153
  this.cardScrollPortElement = document.createElement('div');
3153
3154
  this.cardScrollPortElement.classList.add('tru-card-portal-card-scroll-port');
3154
- //this.columnHeader = new ColumnHeader(_this);
3155
+ new ColumnHeader(this.cardColumn, this);
3155
3156
  this.columnElement.appendChild(this.cardScrollPortElement);
3156
3157
  this.columnElement.addEventListener('filter-cards', (e) => {
3157
3158
  this.updateDataByFilter();
@@ -3159,11 +3160,6 @@ class Column {
3159
3160
  this.updateData();
3160
3161
  this.parentElement.appendChild(this.columnElement);
3161
3162
  }
3162
- addCard = (card) => {
3163
- card.data.$entity[this.cardColumn.key] = this.data.Ref;
3164
- this.data.cards.unshift(card.data);
3165
- this.cards.unshift(new Card(this.cardColumn, this, card.data, true));
3166
- };
3167
3163
  addEmptyCard = () => {
3168
3164
  let emptyCards = _.filter(this.cards, function (card) { return !card.data; });
3169
3165
  if (!emptyCards.length)
@@ -3199,10 +3195,6 @@ class Column {
3199
3195
  this.addEmptyCard();
3200
3196
  card = null;
3201
3197
  };
3202
- selectAll = (selectAll) => {
3203
- for (var i = 0; i < this.cards.length; i++)
3204
- this.cards[i].selectAll(selectAll);
3205
- };
3206
3198
  updateDataByFilter = () => {
3207
3199
  let cardFilterStr = this.cardColumn.cardFilterStr;
3208
3200
  if (cardFilterStr) {
@@ -3258,6 +3250,15 @@ class Column {
3258
3250
  this.addEmptyCard();
3259
3251
  }
3260
3252
  };
3253
+ selectAll = (selectAll) => {
3254
+ for (var i = 0; i < this.cards.length; i++)
3255
+ this.cards[i].selectAll(selectAll);
3256
+ };
3257
+ addCard = (card) => {
3258
+ card.data.$entity[this.cardColumn.key] = this.data.Ref;
3259
+ this.data.cards.unshift(card.data);
3260
+ this.cards.unshift(new Card(this.cardColumn, this, card.data, true));
3261
+ };
3261
3262
  }
3262
3263
  class Card {
3263
3264
  cardColumn;
@@ -3356,6 +3357,63 @@ class Card {
3356
3357
  }
3357
3358
  };
3358
3359
  }
3360
+ class ColumnHeader {
3361
+ cardColumn;
3362
+ constructor(cardColumn, column) {
3363
+ this.cardColumn = cardColumn;
3364
+ let columnHeaderElement = document.createElement('div');
3365
+ columnHeaderElement.classList.add('tru-card-portal-column-header');
3366
+ new ColumnHeaderText(cardColumn, column, columnHeaderElement);
3367
+ new ColumnHeaderButton(column, columnHeaderElement);
3368
+ column.columnElement.insertBefore(columnHeaderElement, column.columnElement.firstChild);
3369
+ }
3370
+ }
3371
+ class ColumnHeaderText {
3372
+ cardColumn;
3373
+ data;
3374
+ constructor(cardColumn, column, parentElement) {
3375
+ this.cardColumn = cardColumn;
3376
+ this.data = column.data;
3377
+ let headerText = document.createElement('p');
3378
+ headerText.classList.add('tru-card-portal-column-headertext');
3379
+ if (this.cardColumn.userHasParentTableRole) {
3380
+ headerText.addEventListener('click', () => { alert('goToDetail'); });
3381
+ headerText.classList.add('tru-card-portal-column-headertext-hover');
3382
+ }
3383
+ if (!this.data?.unassigned) {
3384
+ let value = this.cardColumn.config.resultConfig.cardColumnId(column.data);
3385
+ if (value)
3386
+ headerText.innerHTML = value;
3387
+ }
3388
+ if (this.data?.unassigned && this.cardColumn.unassignedVisible)
3389
+ headerText.innerHTML = this.cardColumn.unassignedName ? this.cardColumn.unassignedName : 'Unassigned';
3390
+ parentElement.appendChild(headerText);
3391
+ }
3392
+ }
3393
+ class ColumnHeaderButton {
3394
+ column;
3395
+ selectAll = false;
3396
+ constructor(column, parentElement) {
3397
+ this.column = column;
3398
+ var linkButtonContainer = document.createElement('div');
3399
+ linkButtonContainer.classList.add('tru-card-portal-column-header-extras');
3400
+ let linkButton = document.createElement('a');
3401
+ linkButton.classList.add('tru-card-portal-column-header-extra-button');
3402
+ linkButton.classList.add('dark-hover');
3403
+ linkButton.href = '#';
3404
+ let linkButtonText = document.createElement('span');
3405
+ linkButtonText.classList.add('tru-card-icon-small');
3406
+ linkButtonText.classList.add('icon-check-square-o');
3407
+ linkButtonText.addEventListener('click', () => {
3408
+ this.selectAll = !this.selectAll;
3409
+ this.column.selectAll(this.selectAll);
3410
+ });
3411
+ linkButton.appendChild(linkButtonText);
3412
+ linkButtonContainer.appendChild(linkButton);
3413
+ this.column.selectAllButton = linkButtonContainer;
3414
+ parentElement.appendChild(linkButtonContainer);
3415
+ }
3416
+ }
3359
3417
 
3360
3418
  class TruToolbar {
3361
3419
  config = null;