diff --git a/app/views/console/comps/header.phtml b/app/views/console/comps/header.phtml index 2aa2045ce6..77a610a566 100644 --- a/app/views/console/comps/header.phtml +++ b/app/views/console/comps/header.phtml @@ -206,7 +206,8 @@ You haven't created any collections for your project yet.

- +
- +
diff --git a/app/views/console/functions/index.phtml b/app/views/console/functions/index.phtml index 65a1792659..3535c5d1ab 100644 --- a/app/views/console/functions/index.phtml +++ b/app/views/console/functions/index.phtml @@ -35,7 +35,7 @@ $runtimes = $this->getParam('runtimes', []);
functions found
- +
getParam('usageStatsEnabled',true);
- +
@@ -176,11 +176,11 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true);
Platform Logo - +
iOS Logo
- +
Android Logo
@@ -275,7 +275,8 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); getParam('usageStatsEnabled',true); - +
Next Steps
@@ -326,7 +327,7 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - +
  @@ -360,7 +361,8 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); getParam('usageStatsEnabled',true); - + - - + @@ -449,12 +452,13 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - + - getParam('usageStatsEnabled',true); - + @@ -540,12 +545,13 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - + @@ -583,12 +589,13 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - + @@ -628,7 +635,7 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - +
  @@ -659,7 +666,7 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - +
  @@ -691,7 +698,7 @@ $usageStatsEnabled = $this->getParam('usageStatsEnabled',true); - +
  diff --git a/app/views/console/keys/index.phtml b/app/views/console/keys/index.phtml index b949d35958..710073ec6a 100644 --- a/app/views/console/keys/index.phtml +++ b/app/views/console/keys/index.phtml @@ -57,18 +57,18 @@ $scopes = $this->getParam('scopes', []);
- $scope) : ?> + $scope): ?>
 
- +
- - - + + +
@@ -114,7 +114,7 @@ $scopes = $this->getParam('scopes', []);
- +
@@ -153,34 +153,35 @@ $scopes = $this->getParam('scopes', []); data-failure-param-alert-classname="error"> - + - +
- $scope) : ?> + $scope): ?>
- -   + +  
- +
- + - +
diff --git a/app/views/console/storage/index.phtml b/app/views/console/storage/index.phtml index d28b33f77f..7d777ef1be 100644 --- a/app/views/console/storage/index.phtml +++ b/app/views/console/storage/index.phtml @@ -108,7 +108,7 @@ $fileLimitHuman = $this->getParam('fileLimitHuman', 0);
Add * for wildcard access
- +
Add * for wildcard access
@@ -136,7 +136,7 @@ $fileLimitHuman = $this->getParam('fileLimitHuman', 0);
File Preview
- +
@@ -241,7 +241,8 @@ $fileLimitHuman = $this->getParam('fileLimitHuman', 0); getParam('fileLimitHuman', 0);
Add * for wildcard access
- +
Add * for wildcard access
diff --git a/app/views/console/users/index.phtml b/app/views/console/users/index.phtml index c8a0689ad7..fdb496c77a 100644 --- a/app/views/console/users/index.phtml +++ b/app/views/console/users/index.phtml @@ -158,7 +158,8 @@ $auth = $this->getParam('auth', []); getParam('auth', []); getParam('auth', []); - +
  @@ -320,11 +322,11 @@ $auth = $this->getParam('auth', []);
- +
  • Unlimited Users Set Limit

    Users allowed Change Limit

    - +

    Settings

  • diff --git a/app/views/console/users/team.phtml b/app/views/console/users/team.phtml index 72e5604f29..38396dedb4 100644 --- a/app/views/console/users/team.phtml +++ b/app/views/console/users/team.phtml @@ -17,8 +17,8 @@
    \ No newline at end of file diff --git a/app/views/console/webhooks/index.phtml b/app/views/console/webhooks/index.phtml index a7d3e8da84..3b4e77090f 100644 --- a/app/views/console/webhooks/index.phtml +++ b/app/views/console/webhooks/index.phtml @@ -61,18 +61,18 @@ $events = array_keys($this->getParam('events', []));
    - $event) : ?> + $event): ?>
     
    - +
    - - - + + +
    @@ -82,7 +82,7 @@ $events = array_keys($this->getParam('events', []));
    - +

    Advanced Options (optional) @@ -90,7 +90,7 @@ $events = array_keys($this->getParam('events', [])); @@ -180,30 +180,31 @@ $events = array_keys($this->getParam('events', [])); - +
    - $event) : ?> + $event): ?>
     
    - +
    - + - +
    @@ -213,7 +214,7 @@ $events = array_keys($this->getParam('events', []));
    - +

    Advanced Options (optional) @@ -221,7 +222,7 @@ $events = array_keys($this->getParam('events', [])); diff --git a/public/dist/scripts/app-all.js b/public/dist/scripts/app-all.js index ef5351f2c5..a46eca45ee 100644 --- a/public/dist/scripts/app-all.js +++ b/public/dist/scripts/app-all.js @@ -2336,10 +2336,10 @@ code.innerHTML=value;Prism.highlightElement(code);div.scrollTop=0;};element.addE function syncA(){element.value=picker.value;update();} function syncB(){picker.value=element.value;} element.parentNode.insertBefore(preview,element);update();syncB();}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-copy",controller:function(element,alerts,document,window){var button=window.document.createElement("i");button.type="button";button.className="icon-docs note copy";button.style.cursor="pointer";element.parentNode.insertBefore(button,element.nextSibling);var copy=function(event){let disabled=element.disabled;element.disabled=false;element.focus();element.select();document.execCommand("Copy");if(document.selection){document.selection.empty();}else if(window.getSelection){window.getSelection().removeAllRanges();} -element.disabled=disabled;element.blur();alerts.add({text:"Copied to clipboard",class:""},3000);};button.addEventListener("click",copy);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-custom-id",controller:function(element,sdk,console){var prevData="";let idType=element.getAttribute('id-type');var div=window.document.createElement("div");div.className="input-copy";var button=window.document.createElement("i");button.type="button";button.style.cursor="pointer";var writer=document.createElement("input");writer.type="text";writer.className="";writer.setAttribute("maxlength",element.getAttribute("maxlength"));var placeholder=element.getAttribute("placeholder");if(placeholder){writer.setAttribute("placeholder",placeholder);} +element.disabled=disabled;element.blur();alerts.add({text:"Copied to clipboard",class:""},3000);};button.addEventListener("click",copy);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-custom-id",controller:function(element,sdk,console){var prevData="";let idType=element.dataset["id-type"];var div=window.document.createElement("div");div.className="input-copy";var button=window.document.createElement("i");button.type="button";button.style.cursor="pointer";var writer=document.createElement("input");writer.type="text";writer.className="";writer.setAttribute("maxlength",element.getAttribute("maxlength"));var placeholder=element.getAttribute("placeholder");if(placeholder){writer.setAttribute("placeholder",placeholder);} var info=window.document.createElement("div");info.className="text-fade text-size-xs margin-top-negative-small margin-bottom";div.appendChild(writer);div.appendChild(button);element.parentNode.insertBefore(div,element);element.parentNode.insertBefore(info,div.nextSibling);var switchType=function(event){if(idType=="custom"){idType="auto";setIdType(idType);}else{idType="custom";setIdType(idType);}} -var validate=function async(event){const value=event.target.value;if(value.length<1){event.target.setCustomValidity("ID is required");}else{console.projects.get(value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}} -var setIdType=function(idType){if(idType=="custom"){info.innerHTML="(Allowed Characters A-Z, a-z, 0-9, and non-leading _)";element.setAttribute('id-type',idType);writer.value=prevData;writer.disabled=false;element.value=prevData;writer.focus();writer.addEventListener('blur',validate);}else{info.innerHTML="(Automatically generated)";element.setAttribute('id-type',idType);prevData=writer.value;writer.disabled=true;writer.value='auto-generated';element.value='unique()';} +var validate=function(event){var service=element.dataset["validator"];service=service.split('.');const value=event.target.value;if(value.length<1){event.target.setCustomValidity("ID is required");}else{if(service[0]=='projects'){if(service[1]=='getPlatform'){var projectId=element.form.elements.namedItem("projectId").value;console[service[0]][service[1]](projectId,value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}else{console[service[0]][service[1]](value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}}else{sdk[service[0]][service[1]](value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}}} +var setIdType=function(idType){if(idType=="custom"){info.innerHTML="Allowed Characters A-Z, a-z, 0-9, and non-leading underscore";element.setAttribute('data-id-type',idType);writer.value=prevData;writer.disabled=false;element.value=prevData;writer.focus();writer.addEventListener('blur',validate);}else{info.innerHTML="Appwrite will generate a unique ID";element.setAttribute('data-id-type',idType);prevData=writer.value;writer.disabled=true;writer.value='auto-generated';element.value='unique()';} button.className=idType=="custom"?"icon-cog copy":"icon-edit copy";} var sync=function(event){if(element.value!=='unique()'){writer.value=element.value;}} var syncE=function(event){element.value=writer.value;} diff --git a/public/dist/scripts/app.js b/public/dist/scripts/app.js index bf5f8ae3c6..9adfdab1f1 100644 --- a/public/dist/scripts/app.js +++ b/public/dist/scripts/app.js @@ -356,10 +356,10 @@ code.innerHTML=value;Prism.highlightElement(code);div.scrollTop=0;};element.addE function syncA(){element.value=picker.value;update();} function syncB(){picker.value=element.value;} element.parentNode.insertBefore(preview,element);update();syncB();}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-copy",controller:function(element,alerts,document,window){var button=window.document.createElement("i");button.type="button";button.className="icon-docs note copy";button.style.cursor="pointer";element.parentNode.insertBefore(button,element.nextSibling);var copy=function(event){let disabled=element.disabled;element.disabled=false;element.focus();element.select();document.execCommand("Copy");if(document.selection){document.selection.empty();}else if(window.getSelection){window.getSelection().removeAllRanges();} -element.disabled=disabled;element.blur();alerts.add({text:"Copied to clipboard",class:""},3000);};button.addEventListener("click",copy);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-custom-id",controller:function(element,sdk,console){var prevData="";let idType=element.getAttribute('id-type');var div=window.document.createElement("div");div.className="input-copy";var button=window.document.createElement("i");button.type="button";button.style.cursor="pointer";var writer=document.createElement("input");writer.type="text";writer.className="";writer.setAttribute("maxlength",element.getAttribute("maxlength"));var placeholder=element.getAttribute("placeholder");if(placeholder){writer.setAttribute("placeholder",placeholder);} +element.disabled=disabled;element.blur();alerts.add({text:"Copied to clipboard",class:""},3000);};button.addEventListener("click",copy);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-custom-id",controller:function(element,sdk,console){var prevData="";let idType=element.dataset["id-type"];var div=window.document.createElement("div");div.className="input-copy";var button=window.document.createElement("i");button.type="button";button.style.cursor="pointer";var writer=document.createElement("input");writer.type="text";writer.className="";writer.setAttribute("maxlength",element.getAttribute("maxlength"));var placeholder=element.getAttribute("placeholder");if(placeholder){writer.setAttribute("placeholder",placeholder);} var info=window.document.createElement("div");info.className="text-fade text-size-xs margin-top-negative-small margin-bottom";div.appendChild(writer);div.appendChild(button);element.parentNode.insertBefore(div,element);element.parentNode.insertBefore(info,div.nextSibling);var switchType=function(event){if(idType=="custom"){idType="auto";setIdType(idType);}else{idType="custom";setIdType(idType);}} -var validate=function async(event){const value=event.target.value;if(value.length<1){event.target.setCustomValidity("ID is required");}else{console.projects.get(value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}} -var setIdType=function(idType){if(idType=="custom"){info.innerHTML="(Allowed Characters A-Z, a-z, 0-9, and non-leading _)";element.setAttribute('id-type',idType);writer.value=prevData;writer.disabled=false;element.value=prevData;writer.focus();writer.addEventListener('blur',validate);}else{info.innerHTML="(Automatically generated)";element.setAttribute('id-type',idType);prevData=writer.value;writer.disabled=true;writer.value='auto-generated';element.value='unique()';} +var validate=function(event){var service=element.dataset["validator"];service=service.split('.');const value=event.target.value;if(value.length<1){event.target.setCustomValidity("ID is required");}else{if(service[0]=='projects'){if(service[1]=='getPlatform'){var projectId=element.form.elements.namedItem("projectId").value;console[service[0]][service[1]](projectId,value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}else{console[service[0]][service[1]](value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}}else{sdk[service[0]][service[1]](value).then(function(res){if(res.$id==value){event.target.setCustomValidity("ID already exists");}else{event.target.setCustomValidity("");}},function(e){event.target.setCustomValidity("");});}}} +var setIdType=function(idType){if(idType=="custom"){info.innerHTML="Allowed Characters A-Z, a-z, 0-9, and non-leading underscore";element.setAttribute('data-id-type',idType);writer.value=prevData;writer.disabled=false;element.value=prevData;writer.focus();writer.addEventListener('blur',validate);}else{info.innerHTML="Appwrite will generate a unique ID";element.setAttribute('data-id-type',idType);prevData=writer.value;writer.disabled=true;writer.value='auto-generated';element.value='unique()';} button.className=idType=="custom"?"icon-cog copy":"icon-edit copy";} var sync=function(event){if(element.value!=='unique()'){writer.value=element.value;}} var syncE=function(event){element.value=writer.value;} diff --git a/public/scripts/views/forms/custom-id.js b/public/scripts/views/forms/custom-id.js index 0c5879c674..1f162dbee9 100644 --- a/public/scripts/views/forms/custom-id.js +++ b/public/scripts/views/forms/custom-id.js @@ -6,23 +6,13 @@ window.ls.container.get("view").add({ selector: "data-custom-id", controller: function (element, sdk, console) { - //sdk should be console sdk for this project var prevData = ""; - let idType = element.getAttribute('id-type'); + let idType = element.dataset["id-type"]; var div = window.document.createElement("div"); div.className = "input-copy"; - //verify the ID doesn't already exist using a Get endpoint - //on the right side of the help info show id exists or not - - //validator in javascript - //extend HTML validators? - //if not possible disable create button if not valid id - - //provide information about length - var button = window.document.createElement("i"); button.type = "button"; @@ -55,35 +45,62 @@ } } - var validate = function async(event) { + var validate = function (event) { + var service = element.dataset["validator"]; + service = service.split('.'); const value = event.target.value; if (value.length < 1) { event.target.setCustomValidity("ID is required"); } else { - console.projects.get(value).then(function(res){ - if (res.$id == value) { - event.target.setCustomValidity("ID already exists"); + if (service[0] == 'projects') { + if (service[1] == 'getPlatform') { + var projectId = element.form.elements.namedItem("projectId").value; + console[service[0]][service[1]](projectId, value).then(function (res) { + if (res.$id == value) { + event.target.setCustomValidity("ID already exists"); + } else { + event.target.setCustomValidity(""); + } + }, function (e) { + event.target.setCustomValidity(""); + }); } else { - event.target.setCustomValidity(""); + console[service[0]][service[1]](value).then(function (res) { + if (res.$id == value) { + event.target.setCustomValidity("ID already exists"); + } else { + event.target.setCustomValidity(""); + } + }, function (e) { + event.target.setCustomValidity(""); + }); } - }, function(e){ - event.target.setCustomValidity(""); - }); + } else { + sdk[service[0]][service[1]](value).then(function (res) { + if (res.$id == value) { + event.target.setCustomValidity("ID already exists"); + } else { + event.target.setCustomValidity(""); + } + }, function (e) { + event.target.setCustomValidity(""); + }); + } } } var setIdType = function (idType) { if (idType == "custom") { - info.innerHTML = "(Allowed Characters A-Z, a-z, 0-9, and non-leading _)"; - element.setAttribute('id-type', idType); + info.innerHTML = "Allowed Characters A-Z, a-z, 0-9, and non-leading underscore"; + element.setAttribute('data-id-type', idType); writer.value = prevData; writer.disabled = false; element.value = prevData; writer.focus(); writer.addEventListener('blur', validate); } else { - info.innerHTML = "(Automatically generated)"; - element.setAttribute('id-type', idType); + info.innerHTML = "Appwrite will generate a unique ID"; + element.setAttribute('data-id-type', idType); prevData = writer.value; writer.disabled = true; writer.value = 'auto-generated';