forked from extern/egroupware
Dialog work
Get calendar quick add working again
This commit is contained in:
parent
83ab58329e
commit
634e00f948
@ -847,8 +847,12 @@ export class Et2Dialog extends Et2Widget(SlotMixin(SlDialog))
|
|||||||
{
|
{
|
||||||
// Check for something with buttons slot set
|
// Check for something with buttons slot set
|
||||||
let search_in = <HTMLElement>(this._template_widget?.DOMContainer || this._contentNode);
|
let search_in = <HTMLElement>(this._template_widget?.DOMContainer || this._contentNode);
|
||||||
|
if(!search_in)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
let template_buttons = [
|
let template_buttons = [
|
||||||
...search_in.querySelectorAll('[slot="buttons"]'),
|
...search_in.querySelectorAll('[slot="footer"],[slot="buttons"]'),
|
||||||
// Look for a dialog footer, which will contain several buttons and possible other widgets
|
// Look for a dialog footer, which will contain several buttons and possible other widgets
|
||||||
...search_in.querySelectorAll(".dialogFooterToolbar"),
|
...search_in.querySelectorAll(".dialogFooterToolbar"),
|
||||||
// Look for buttons at high level (not everywhere, otherwise we can't have other buttons in the template)
|
// Look for buttons at high level (not everywhere, otherwise we can't have other buttons in the template)
|
||||||
@ -856,11 +860,17 @@ export class Et2Dialog extends Et2Widget(SlotMixin(SlDialog))
|
|||||||
];
|
];
|
||||||
if(template_buttons)
|
if(template_buttons)
|
||||||
{
|
{
|
||||||
|
if(template_buttons[0].instanceOf(Et2Button))
|
||||||
|
{
|
||||||
|
template_buttons[0].variant = "primary";
|
||||||
|
template_buttons[0].outline = true;
|
||||||
|
}
|
||||||
template_buttons.forEach((button) =>
|
template_buttons.forEach((button) =>
|
||||||
{
|
{
|
||||||
button.setAttribute("slot", "footer");
|
button.setAttribute("slot", "footer");
|
||||||
this.appendChild(button);
|
this.appendChild(button);
|
||||||
})
|
});
|
||||||
|
this.requestUpdate();
|
||||||
}
|
}
|
||||||
// do NOT submit dialog, if it has no etemplate_exec_id, it only gives and error on server-side
|
// do NOT submit dialog, if it has no etemplate_exec_id, it only gives and error on server-side
|
||||||
if (this._template_widget && !this._template_widget.widgetContainer.getInstanceManager().etemplate_exec_id)
|
if (this._template_widget && !this._template_widget.widgetContainer.getInstanceManager().etemplate_exec_id)
|
||||||
|
@ -2088,12 +2088,11 @@ export class CalendarApp extends EgwApp
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Insert the content into the correct place
|
// Insert the content into the correct place
|
||||||
add_dialog._contentNode.remove();
|
add_dialog._contentNode.replaceChildren();
|
||||||
add_dialog.insertAdjacentHTML("beforeend", content.html);
|
add_dialog._contentNode.insertAdjacentHTML("beforeend", content.html);
|
||||||
let template = add_dialog.querySelector("[id='calendar-add']");
|
let template = add_dialog.querySelector("[id='calendar-add']");
|
||||||
if(template)
|
if(template)
|
||||||
{
|
{
|
||||||
template.slot = "";
|
|
||||||
template.addEventListener("load", add_dialog._adoptTemplateButtons);
|
template.addEventListener("load", add_dialog._adoptTemplateButtons);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2158,7 +2157,7 @@ export class CalendarApp extends EgwApp
|
|||||||
if(invalid.filter((widget) => widget).length == 0)
|
if(invalid.filter((widget) => widget).length == 0)
|
||||||
{
|
{
|
||||||
// Close the dialog, if everything is OK
|
// Close the dialog, if everything is OK
|
||||||
(<Et2Dialog><unknown>document.querySelector('et2-dialog#quick_add')).close();
|
(<Et2Dialog><unknown>document.querySelector('et2-dialog#quick_add')).hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -28,17 +28,16 @@
|
|||||||
</row>
|
</row>
|
||||||
</rows>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
<hbox slot="buttons">
|
<button statustext="saves the changes made" label="Save" id="button[save]" image="save" background_image="1"
|
||||||
<button statustext="saves the changes made" label="Save" id="button[save]" image="save" background_image="1"
|
onclick="return app.calendar.add_dialog_save(ev, widget); " slot="footer" default="true"/>
|
||||||
onclick="return app.calendar.add_dialog_save(ev, widget); "/>
|
<button statustext="Full edit dialog" label="Edit" id="button[edit]" image="edit" background_image="1"
|
||||||
<button statustext="Full edit dialog" label="Edit" id="button[edit]" image="edit" background_image="1"
|
onclick="return app.calendar.add_dialog_edit(ev, widget);" slot="footer"/>
|
||||||
onclick="return app.calendar.add_dialog_edit(ev, widget);"/>
|
<button statustext="Close the window" label="Cancel" id="button[cancel]"
|
||||||
<button statustext="Close the window" label="Cancel" id="button[cancel]"
|
onclick="document.querySelector('et2-dialog#quick_add').hide()" image="cancel"
|
||||||
onclick="document.querySelector('et2-dialog#quick_add').close()" image="cancel"
|
background_image="1" slot="footer"/>
|
||||||
background_image="1"/>
|
<checkbox label="Always use full edit dialog" id="new_event_dialog"
|
||||||
<checkbox label="Always use full edit dialog" id="new_event_dialog"
|
statustext="Always use the full edit dialog, not this little dialog"
|
||||||
statustext="Always use the full edit dialog, not this little dialog"
|
onchange="egw.set_preference('calendar',widget.id,widget.get_value() ? 'edit' : 'add');"
|
||||||
onchange="egw.set_preference('calendar',widget.id,widget.get_value() ? 'edit' : 'add');"/>
|
slot="footer"/>
|
||||||
</hbox>
|
|
||||||
</template>
|
</template>
|
||||||
</overlay>
|
</overlay>
|
Loading…
Reference in New Issue
Block a user