@trudb/tru-common-lib 0.1.282 → 0.1.283

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,11 +3131,11 @@ 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) {
@@ -3151,7 +3151,7 @@ class Column {
3151
3151
  this.columnElement = columnElement;
3152
3152
  this.cardScrollPortElement = document.createElement('div');
3153
3153
  this.cardScrollPortElement.classList.add('tru-card-portal-card-scroll-port');
3154
- //this.columnHeader = new ColumnHeader(_this);
3154
+ new ColumnHeader(this.cardColumn, this);
3155
3155
  this.columnElement.appendChild(this.cardScrollPortElement);
3156
3156
  this.columnElement.addEventListener('filter-cards', (e) => {
3157
3157
  this.updateDataByFilter();
@@ -3159,11 +3159,6 @@ class Column {
3159
3159
  this.updateData();
3160
3160
  this.parentElement.appendChild(this.columnElement);
3161
3161
  }
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
3162
  addEmptyCard = () => {
3168
3163
  let emptyCards = _.filter(this.cards, function (card) { return !card.data; });
3169
3164
  if (!emptyCards.length)
@@ -3199,10 +3194,6 @@ class Column {
3199
3194
  this.addEmptyCard();
3200
3195
  card = null;
3201
3196
  };
3202
- selectAll = (selectAll) => {
3203
- for (var i = 0; i < this.cards.length; i++)
3204
- this.cards[i].selectAll(selectAll);
3205
- };
3206
3197
  updateDataByFilter = () => {
3207
3198
  let cardFilterStr = this.cardColumn.cardFilterStr;
3208
3199
  if (cardFilterStr) {
@@ -3258,6 +3249,15 @@ class Column {
3258
3249
  this.addEmptyCard();
3259
3250
  }
3260
3251
  };
3252
+ selectAll = (selectAll) => {
3253
+ for (var i = 0; i < this.cards.length; i++)
3254
+ this.cards[i].selectAll(selectAll);
3255
+ };
3256
+ addCard = (card) => {
3257
+ card.data.$entity[this.cardColumn.key] = this.data.Ref;
3258
+ this.data.cards.unshift(card.data);
3259
+ this.cards.unshift(new Card(this.cardColumn, this, card.data, true));
3260
+ };
3261
3261
  }
3262
3262
  class Card {
3263
3263
  cardColumn;
@@ -3356,6 +3356,63 @@ class Card {
3356
3356
  }
3357
3357
  };
3358
3358
  }
3359
+ class ColumnHeader {
3360
+ cardColumn;
3361
+ constructor(cardColumn, column) {
3362
+ this.cardColumn = cardColumn;
3363
+ let columnHeaderElement = document.createElement('div');
3364
+ columnHeaderElement.classList.add('tru-card-portal-column-header');
3365
+ new ColumnHeaderText(cardColumn, column, columnHeaderElement);
3366
+ new ColumnHeaderButton(column, columnHeaderElement);
3367
+ column.columnElement.insertBefore(columnHeaderElement, column.columnElement.firstChild);
3368
+ }
3369
+ }
3370
+ class ColumnHeaderText {
3371
+ cardColumn;
3372
+ data;
3373
+ constructor(cardColumn, column, parentElement) {
3374
+ this.cardColumn = cardColumn;
3375
+ this.data = column.data;
3376
+ let headerText = document.createElement('p');
3377
+ headerText.classList.add('tru-card-portal-column-headertext');
3378
+ if (this.cardColumn.userHasParentTableRole) {
3379
+ headerText.addEventListener('click', () => { alert('goToDetail'); });
3380
+ headerText.classList.add('tru-card-portal-column-headertext-hover');
3381
+ }
3382
+ if (!this.data?.unassigned) {
3383
+ let value = this.cardColumn.config.resultConfig.cardColumnId(column.data);
3384
+ if (value)
3385
+ headerText.innerHTML = value;
3386
+ }
3387
+ if (this.data?.unassigned && this.cardColumn.unassignedVisible)
3388
+ headerText.innerHTML = this.cardColumn.unassignedName ? this.cardColumn.unassignedName : 'Unassigned';
3389
+ parentElement.appendChild(headerText);
3390
+ }
3391
+ }
3392
+ class ColumnHeaderButton {
3393
+ column;
3394
+ selectAll = false;
3395
+ constructor(column, parentElement) {
3396
+ this.column = column;
3397
+ var linkButtonContainer = document.createElement('div');
3398
+ linkButtonContainer.classList.add('tru-card-portal-column-header-extras');
3399
+ let linkButton = document.createElement('a');
3400
+ linkButton.classList.add('tru-card-portal-column-header-extra-button');
3401
+ linkButton.classList.add('dark-hover');
3402
+ linkButton.href = '#';
3403
+ let linkButtonText = document.createElement('span');
3404
+ linkButtonText.classList.add('tru-card-icon-small');
3405
+ linkButtonText.classList.add('icon-check-square-o');
3406
+ linkButtonText.addEventListener('click', () => {
3407
+ this.selectAll = !this.selectAll;
3408
+ this.column.selectAll(this.selectAll);
3409
+ });
3410
+ linkButton.appendChild(linkButtonText);
3411
+ linkButtonContainer.appendChild(linkButton);
3412
+ this.column.selectAllButton = linkButtonContainer;
3413
+ parentElement.appendChild(linkButtonContainer);
3414
+ }
3415
+ }
3359
3416
 
3360
3417
  class TruToolbar {
3361
3418
  config = null;