Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d0105e1b80 | |||
| 1eeebb35e6 | |||
| 14e8b8c533 | |||
| eaf327ea75 |
13
changelog.md
13
changelog.md
@@ -1,5 +1,18 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-03-10 - 3.45.1 - fix(dees-appui)
|
||||||
|
substitute route params into URL hash when navigating
|
||||||
|
|
||||||
|
- Replaces :param placeholders in view.route with provided params before updating the URL hash.
|
||||||
|
- Ensures window.history.pushState is called with the resolved route so URLs do not contain literal parameter tokens.
|
||||||
|
|
||||||
|
## 2026-03-10 - 3.45.0 - feat(dees-form)
|
||||||
|
register new input components (tags, list, wysiwyg, richtext) and emit change notification for richtext updates
|
||||||
|
|
||||||
|
- Added imports and registration of DeesInputTags, DeesInputList, DeesInputWysiwyg, and DeesInputRichtext in dees-form
|
||||||
|
- Extended TFormInputElement union type to include the new input components
|
||||||
|
- DeesInputRichtext now calls changeSubject.next(this.value) in the editor onUpdate handler to propagate changes
|
||||||
|
|
||||||
## 2026-03-10 - 3.44.0 - feat(appui-tabs)
|
## 2026-03-10 - 3.44.0 - feat(appui-tabs)
|
||||||
add support for left/right tab action buttons and content tab action APIs
|
add support for left/right tab action buttons and content tab action APIs
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@design.estate/dees-catalog",
|
"name": "@design.estate/dees-catalog",
|
||||||
"version": "3.44.0",
|
"version": "3.45.1",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
||||||
"main": "dist_ts_web/index.js",
|
"main": "dist_ts_web/index.js",
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@design.estate/dees-catalog',
|
name: '@design.estate/dees-catalog',
|
||||||
version: '3.44.0',
|
version: '3.45.1',
|
||||||
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -875,8 +875,13 @@ export class DeesAppui extends DeesElement {
|
|||||||
try {
|
try {
|
||||||
await this.loadView(view, params);
|
await this.loadView(view, params);
|
||||||
|
|
||||||
// Update URL hash
|
// Update URL hash (substitute params into route pattern)
|
||||||
const route = view.route || viewId;
|
let route = view.route || viewId;
|
||||||
|
if (params) {
|
||||||
|
for (const [key, val] of Object.entries(params)) {
|
||||||
|
route = route.replace(`:${key}`, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
const newHash = `#${route}`;
|
const newHash = `#${route}`;
|
||||||
if (window.location.hash !== newHash) {
|
if (window.location.hash !== newHash) {
|
||||||
window.history.pushState({ viewId }, '', newHash);
|
window.history.pushState({ viewId }, '', newHash);
|
||||||
|
|||||||
@@ -22,6 +22,10 @@ import { DeesInputMultitoggle } from '../../00group-input/dees-input-multitoggle
|
|||||||
import { DeesInputPhone } from '../../00group-input/dees-input-phone/dees-input-phone.js';
|
import { DeesInputPhone } from '../../00group-input/dees-input-phone/dees-input-phone.js';
|
||||||
import { DeesInputToggle } from '../../00group-input/dees-input-toggle/dees-input-toggle.js';
|
import { DeesInputToggle } from '../../00group-input/dees-input-toggle/dees-input-toggle.js';
|
||||||
import { DeesInputTypelist } from '../../00group-input/dees-input-typelist/dees-input-typelist.js';
|
import { DeesInputTypelist } from '../../00group-input/dees-input-typelist/dees-input-typelist.js';
|
||||||
|
import { DeesInputTags } from '../../00group-input/dees-input-tags/dees-input-tags.js';
|
||||||
|
import { DeesInputList } from '../../00group-input/dees-input-list/dees-input-list.js';
|
||||||
|
import { DeesInputWysiwyg } from '../../00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js';
|
||||||
|
import { DeesInputRichtext } from '../../00group-input/dees-input-richtext/component.js';
|
||||||
import { DeesFormSubmit } from '../dees-form-submit/dees-form-submit.js';
|
import { DeesFormSubmit } from '../dees-form-submit/dees-form-submit.js';
|
||||||
import { DeesTable } from '../../00group-dataview/dees-table/index.js';
|
import { DeesTable } from '../../00group-dataview/dees-table/index.js';
|
||||||
import { demoFunc } from './dees-form.demo.js';
|
import { demoFunc } from './dees-form.demo.js';
|
||||||
@@ -41,6 +45,10 @@ const FORM_INPUT_TYPES = [
|
|||||||
DeesInputText,
|
DeesInputText,
|
||||||
DeesInputToggle,
|
DeesInputToggle,
|
||||||
DeesInputTypelist,
|
DeesInputTypelist,
|
||||||
|
DeesInputTags,
|
||||||
|
DeesInputList,
|
||||||
|
DeesInputWysiwyg,
|
||||||
|
DeesInputRichtext,
|
||||||
DeesTable,
|
DeesTable,
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -58,6 +66,10 @@ export type TFormInputElement =
|
|||||||
| DeesInputText
|
| DeesInputText
|
||||||
| DeesInputToggle
|
| DeesInputToggle
|
||||||
| DeesInputTypelist
|
| DeesInputTypelist
|
||||||
|
| DeesInputTags
|
||||||
|
| DeesInputList
|
||||||
|
| DeesInputWysiwyg
|
||||||
|
| DeesInputRichtext
|
||||||
| DeesTable<any>;
|
| DeesTable<any>;
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
|
|||||||
@@ -269,6 +269,7 @@ export class DeesInputRichtext extends DeesInputBase<string> {
|
|||||||
onUpdate: ({ editor }) => {
|
onUpdate: ({ editor }) => {
|
||||||
this.value = editor.getHTML();
|
this.value = editor.getHTML();
|
||||||
this.updateWordCount();
|
this.updateWordCount();
|
||||||
|
this.changeSubject.next(this.value);
|
||||||
this.dispatchEvent(
|
this.dispatchEvent(
|
||||||
new CustomEvent('input', {
|
new CustomEvent('input', {
|
||||||
detail: { value: this.value },
|
detail: { value: this.value },
|
||||||
|
|||||||
Reference in New Issue
Block a user