Compare commits

..

6 Commits

Author SHA1 Message Date
7d4e5f2ca7 1.0.258 2024-01-22 00:59:26 +01:00
c0ad0f4570 fix(core): update 2024-01-22 00:59:25 +01:00
d56eb602a9 1.0.257 2024-01-21 22:37:39 +01:00
f1c791eb12 fix(core): update 2024-01-21 22:37:39 +01:00
e872188be7 1.0.256 2024-01-21 17:14:16 +01:00
2d712e78b0 fix(core): update 2024-01-21 17:14:15 +01:00
5 changed files with 80 additions and 34 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@design.estate/dees-catalog", "name": "@design.estate/dees-catalog",
"version": "1.0.255", "version": "1.0.258",
"private": false, "private": false,
"description": "website for lossless.com", "description": "website for lossless.com",
"main": "dist_ts_web/index.js", "main": "dist_ts_web/index.js",

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@design.estate/dees-catalog', name: '@design.estate/dees-catalog',
version: '1.0.255', version: '1.0.258',
description: 'website for lossless.com' description: 'website for lossless.com'
} }

View File

@@ -52,6 +52,7 @@ import {
faFileInvoiceDollar as faFileInvoiceDollarSolid, faFileInvoiceDollar as faFileInvoiceDollarSolid,
faGear as faGearSolid, faGear as faGearSolid,
faGrip as faGripSolid, faGrip as faGripSolid,
faMagnifyingGlass as faMagnifyingGlassSolid,
faMessage as faMessageSolid, faMessage as faMessageSolid,
faMoneyCheckDollar as faMoneyCheckDollarSolid, faMoneyCheckDollar as faMoneyCheckDollarSolid,
faMugHot as faMugHotSolid, faMugHot as faMugHotSolid,
@@ -97,6 +98,7 @@ export const faIcons = {
fileInvoiceDoller: faFileInvoiceDollarSolid, fileInvoiceDoller: faFileInvoiceDollarSolid,
gear: faGearSolid, gear: faGearSolid,
grip: faGripSolid, grip: faGripSolid,
magnifyingGlass: faMagnifyingGlassSolid,
message: faMessageRegular, message: faMessageRegular,
messageSolid: faMessageSolid, messageSolid: faMessageSolid,
moneyCheckDollar: faMoneyCheckDollarSolid, moneyCheckDollar: faMoneyCheckDollarSolid,

View File

@@ -35,7 +35,7 @@ export class DeesSimpleAppDash extends DeesElement {
user-select: none; user-select: none;
} }
.appbar { .appbar {
position: absolute; position: fixed;
top: 0; top: 0;
height: 40px; height: 40px;
width: 100%; width: 100%;
@@ -47,10 +47,12 @@ export class DeesSimpleAppDash extends DeesElement {
padding: 0px 16px; padding: 0px 16px;
} }
.appcontent { .appcontent {
position: absolute; position: fixed;
top: 40px; top: 40px;
bottom: 0; height: calc(100% - 40px);
bottom: 0px;
width: 100%; width: 100%;
overflow: auto;
background: ${cssManager.bdTheme('#eeeeeb', '#000')}; background: ${cssManager.bdTheme('#eeeeeb', '#000')};
} }
`, `,

View File

@@ -117,12 +117,21 @@ export class DeesTable<T> extends DeesElement {
public changeSubject = new domtools.plugins.smartrx.rxjs.Subject<DeesTable<T>>(); public changeSubject = new domtools.plugins.smartrx.rxjs.Subject<DeesTable<T>>();
// end dees-form compatibility ----------------------------------------- // end dees-form compatibility -----------------------------------------
/**
* What does a row of data represent?
*/
@property({ @property({
type: String, type: String,
reflect: true, reflect: true,
}) })
public dataName: string; public dataName: string;
@property({
type: Boolean,
})
searchable: boolean = true;
@property({ @property({
type: Array, type: Array,
}) })
@@ -203,11 +212,16 @@ export class DeesTable<T> extends DeesElement {
} }
.headerActions { .headerActions {
user-select: none;
display: flex;
flex-direction: row;
margin-left: auto; margin-left: auto;
} }
.headerAction { .headerAction {
display: flex; display: flex;
flex-direction: row;
color: ${cssManager.bdTheme('#333', '#ccc')}; color: ${cssManager.bdTheme('#333', '#ccc')};
margin-left: 16px;
} }
.headerAction:hover { .headerAction:hover {
@@ -223,9 +237,17 @@ export class DeesTable<T> extends DeesElement {
display: grid; display: grid;
grid-gap: 16px; grid-gap: 16px;
grid-template-columns: 1fr 200px; grid-template-columns: 1fr 200px;
margin: 0px -16px; margin-top: 16px;
padding: 0px 16px; padding: 0px 16px;
border-bottom: 1px solid ${cssManager.bdTheme('#fff', '#ffffff20')}; border-top: 1px solid ${cssManager.bdTheme('#fff', '#ffffff20')};
border-radius: 8px;
}
.searchGrid.hidden {
height: 0px;
opacity: 0;
overflow: hidden;
margin-top: 0px;
} }
table, table,
@@ -315,10 +337,12 @@ export class DeesTable<T> extends DeesElement {
font-weight: inherit; font-weight: inherit;
padding: 0px 6px; padding: 0px 6px;
} }
.actionContainer { .actionsContainer {
display: flex;
flex-direction: row;
height: 24px; height: 24px;
display: inline-block;
transform: translateY(-4px); transform: translateY(-4px);
margin-left: -6px;
} }
.action { .action {
position: relative; position: relative;
@@ -329,11 +353,6 @@ export class DeesTable<T> extends DeesElement {
border-radius: 8px; border-radius: 8px;
} }
.actionContainer:first-child {
margin-left: -6px;
width: min-content;
}
.action:hover { .action:hover {
background: ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)}; background: ${cssManager.bdTheme(colors.bright.blue, colors.dark.blue)};
} }
@@ -422,7 +441,7 @@ export class DeesTable<T> extends DeesElement {
</div> </div>
</div> </div>
<div class="headingSeparation"></div> <div class="headingSeparation"></div>
<div class="searchGrid"> <div class="searchGrid hidden">
<dees-input-text <dees-input-text
.label=${'lucene syntax search'} .label=${'lucene syntax search'}
.description=${` .description=${`
@@ -574,8 +593,9 @@ export class DeesTable<T> extends DeesElement {
return html` return html`
<td> <td>
<div class="innerCellContainer"> <div class="innerCellContainer">
<div class="actionsContainer">
${this.getActionsForType('inRow').map( ${this.getActionsForType('inRow').map(
(actionArg) => html`<div class="actionContainer"> (actionArg) => html`
<div <div
class="action" class="action"
@click=${() => @click=${() =>
@@ -586,13 +606,16 @@ export class DeesTable<T> extends DeesElement {
> >
${actionArg.iconName ${actionArg.iconName
? html` ? html`
<dees-icon .iconFA=${actionArg.iconName}></dees-icon> <dees-icon
.iconFA=${actionArg.iconName}
></dees-icon>
` `
: actionArg.name} : actionArg.name}
</div> </div>
</div>` `
)} )}
</div> </div>
</div>
</td> </td>
`; `;
} }
@@ -640,11 +663,30 @@ export class DeesTable<T> extends DeesElement {
`; `;
} }
public async firstUpdated() {} public async firstUpdated() {
}
public async updated(changedProperties: Map<string | number | symbol, unknown>): Promise<void> { public async updated(changedProperties: Map<string | number | symbol, unknown>): Promise<void> {
super.updated(changedProperties); super.updated(changedProperties);
this.determineColumnWidths(); this.determineColumnWidths();
if (this.searchable) {
const existing = this.dataActions.find((actionArg) => actionArg.type.includes('header') && actionArg.name === 'Search');
if (!existing) {
this.dataActions.unshift({
name: 'Search',
iconName: 'magnifyingGlass',
type: ['header'],
actionFunc: async () => {
console.log('open search');
const searchGrid = this.shadowRoot.querySelector('.searchGrid');
searchGrid.classList.toggle('hidden');
}
});
console.log(this.dataActions);
this.requestUpdate();
};
}
} }
public async determineColumnWidths() { public async determineColumnWidths() {