Merge pull request #1 from anirudhb/updatewebsites

add capability to add websites to a container
This commit is contained in:
Balaji (xbalaji) Venkataraman 2020-02-01 12:43:23 -08:00 committed by GitHub
commit db89c8603c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 3 deletions

View file

@ -975,6 +975,30 @@ Logic.registerPanel(P_CONTAINER_EDIT, {
Logic.showPreviousPanel();
});
Logic.addEnterHandler(document.querySelector("#website-add-link"), () => {
const sitesList = document.querySelector(".assigned-sites-list");
const trElement = document.createElement("div");
trElement.innerHTML = escaped`
<div class="truncated-text hostname">
<input id="site-editor" />
</div>`;
trElement.classList.add("container-info-tab-row");
Logic.addEnterHandler(trElement.querySelector("#site-editor"), async (e) => {
let newurl = e.target.value;
if (!newurl.startsWith("http:") && !newurl.startsWith("https:")) {
newurl = "https://" + newurl;
}
const userContextId = Logic.currentUserContextId();
const currentTab = await Logic.currentTab();
const assignments = await Logic.getAssignmentObjectByContainer(userContextId);
Logic.setOrRemoveAssignment(currentTab.id, newurl, userContextId, false);
assignments["siteContainerMap@@_" + e.target.value] = {hostname: e.target.value};
this.showAssignedContainers(assignments);
});
sitesList.appendChild(trElement);
trElement.querySelector("#site-editor").focus();
});
this._editForm = document.getElementById("edit-container-panel-form");
const editLink = document.querySelector("#edit-container-ok-link");
Logic.addEnterHandler(editLink, () => {
@ -1014,7 +1038,8 @@ Logic.registerPanel(P_CONTAINER_EDIT, {
showAssignedContainers(assignments) {
const assignmentPanel = document.getElementById("edit-sites-assigned");
const assignmentKeys = Object.keys(assignments);
assignmentPanel.hidden = !(assignmentKeys.length > 0);
const userContextId = Logic.currentUserContextId();
assignmentPanel.hidden = !userContextId;
if (assignments) {
const tableElement = assignmentPanel.querySelector(".assigned-sites-list");
/* Remove previous assignment list,
@ -1093,7 +1118,6 @@ Logic.registerPanel(P_CONTAINER_EDIT, {
const assignments = await Logic.getAssignmentObjectByContainer(userContextId);
this.showAssignedContainers(assignments);
document.querySelector("#edit-container-panel .panel-footer").hidden = !!userContextId;
document.querySelector("#edit-container-panel-name-input").value = identity.name || "";
document.querySelector("#edit-container-panel-usercontext-input").value = userContextId || NEW_CONTAINER_ID;
const containerName = document.querySelector("#edit-container-panel-name-input");

View file

@ -186,7 +186,12 @@
</fieldset>
</form>
<div id="edit-sites-assigned" class="scrollable" hidden>
<h3>Sites assigned to this container</h3>
<h3>
Sites assigned to this container
<a href="#" tabindex="0" class="add-website-link" style="float: right;" id="website-add-link" title="Create new website">
<img class="pop-button-image-small icon" alt="Create new website icon" src="/img/container-add.svg" />
</a>
</h3>
<div class="assigned-sites-list">
</div>
</div>