Merge branch 'master' of github.com:appwrite/appwrite into restify
This commit is contained in:
commit
b7a0e5b228
|
@ -13,6 +13,7 @@
|
|||
* Fixed bug where user status was saved as a string instead of an integer
|
||||
* Fixed gravatar icons not showing up correctly on the console
|
||||
* Fixed code location of project not found error
|
||||
* Fixed bug where tags element would ignore tab key for parsing new tags
|
||||
|
||||
# Version 0.4.0 (PRE-RELEASE)
|
||||
|
||||
|
|
|
@ -88,11 +88,11 @@ For the complete API documentation, visit [https://appwrite.io/docs](https://app
|
|||
|
||||
Currently, we support only a few SDK libraries and are constantly working on including new ones.
|
||||
|
||||
Below is a list of currently supported platforms and languages. If you wish to help us add support to your platform of choice, you can go over to our [SDK Generator](https://github.com/appwrite/sdk-generator) project and view our contribution guide.
|
||||
Below is a list of currently supported platforms and languages. If you wish to help us add support to your platform of choice, you can go over to our [SDK Generator](https://github.com/appwrite/sdk-generator) project and view our [contribution guide](https://github.com/appwrite/sdk-generator/blob/master/CONTRIBUTING.md).
|
||||
|
||||
* ✅ [JS](https://github.com/appwrite/sdk-for-js) (Maintained by the Appwrite Team)
|
||||
* ✅ [PHP](https://github.com/appwrite/sdk-for-php) (Maintained by the Appwrite Team)
|
||||
* ✅ [NodeJS](https://github.com/appwrite/sdk-for-node) (Maintained by the Appwrite Team)
|
||||
* ✅ [PHP](https://github.com/appwrite/sdk-for-php) (Maintained by the Appwrite Team)
|
||||
* ✅ [Ruby](https://github.com/appwrite/sdk-for-ruby) - **Work in progress** (Maintained by the Appwrite Team)
|
||||
* ✅ [Python](https://github.com/appwrite/sdk-for-python) - **Work in progress** (Maintained by the Appwrite Team)
|
||||
* ✳️ Looking for more SDKs? - Help us by contributing a pull request to our [SDK Generator](https://github.com/appwrite/sdk-generator)!
|
||||
|
|
|
@ -144,7 +144,7 @@ $utopia->put('/v1/mock/tests/bar')
|
|||
}
|
||||
);
|
||||
|
||||
$utopia->delete('/v1/mock/tests/bar')
|
||||
$utopia->delete('/v1/mock/tests/bar')
|
||||
->desc('Mock a delete request for SDK tests')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'bar')
|
||||
|
@ -159,10 +159,10 @@ $utopia->put('/v1/mock/tests/bar')
|
|||
}
|
||||
);
|
||||
|
||||
$utopia->post('/v1/mock/tests/files')
|
||||
$utopia->post('/v1/mock/tests/general/upload')
|
||||
->desc('Mock a post request for SDK tests')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'files')
|
||||
->label('sdk.namespace', 'general')
|
||||
->label('sdk.method', 'upload')
|
||||
->label('sdk.description', 'Mock a delete request for SDK tests')
|
||||
->label('sdk.consumes', 'multipart/form-data')
|
||||
|
@ -183,6 +183,41 @@ $utopia->post('/v1/mock/tests/files')
|
|||
}
|
||||
);
|
||||
|
||||
$utopia->get('/v1/mock/tests/general/redirect')
|
||||
->desc('Mock a post request for SDK tests')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'general')
|
||||
->label('sdk.method', 'redirect')
|
||||
->label('sdk.description', 'Mock a redirect request for SDK tests')
|
||||
->action(
|
||||
function () use ($response) {
|
||||
$response->redirect('/v1/mock/tests/general/redirected');
|
||||
}
|
||||
);
|
||||
|
||||
$utopia->get('/v1/mock/tests/general/redirected')
|
||||
->desc('Mock a post request for SDK tests')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'general')
|
||||
->label('sdk.method', 'redirected')
|
||||
->label('sdk.description', 'Mock a redirected request for SDK tests')
|
||||
->action(
|
||||
function () {
|
||||
}
|
||||
);
|
||||
|
||||
$utopia->get('/v1/mock/tests/general/empty')
|
||||
->desc('Mock a post request for SDK tests')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'general')
|
||||
->label('sdk.method', 'empty')
|
||||
->label('sdk.description', 'Mock a redirected request for SDK tests')
|
||||
->action(
|
||||
function () use ($response) {
|
||||
$response->noContent();
|
||||
}
|
||||
);
|
||||
|
||||
$utopia->shutdown(function() use ($response, $request, &$result, $utopia) {
|
||||
|
||||
$route = $utopia->match($request);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Appwrite SDK for Dart
|
||||
|
||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-dart.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.3.0-blue.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.4.0-blue.svg?v=1)
|
||||
|
||||
**WORK IN PROGRESS - NOT READY FOR USAGE - Want to help us improve this client SDK? Send a pull request to Appwrite [SDK generator repository](https://github.com/appwrite/sdk-generator).**
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Appwrite SDK for Go
|
||||
|
||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-go.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.3.0-blue.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.4.0-blue.svg?v=1)
|
||||
|
||||
**WORK IN PROGRESS - NOT READY FOR USAGE - Want to help us improve this client SDK? Send a pull request to Appwrite [SDK generator repository](https://github.com/appwrite/sdk-generator).**
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Appwrite SDK for JavaScript
|
||||
|
||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-js.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.3.0-blue.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.4.0-blue.svg?v=1)
|
||||
|
||||
**This SDK is compatible with Appwrite server version 0.4.0. For older versions, please check previous releases.**
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Appwrite SDK for NodeJS
|
||||
|
||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-node.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.3.0-blue.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.4.0-blue.svg?v=1)
|
||||
|
||||
**This SDK is compatible with Appwrite server version 0.4.0. For older versions, please check previous releases.**
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Appwrite SDK for PHP
|
||||
|
||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-php.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.3.0-blue.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.4.0-blue.svg?v=1)
|
||||
|
||||
**This SDK is compatible with Appwrite server version 0.4.0. For older versions, please check previous releases.**
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Appwrite SDK for Python
|
||||
|
||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-python.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.3.0-blue.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.4.0-blue.svg?v=1)
|
||||
|
||||
**WORK IN PROGRESS - NOT READY FOR USAGE - Want to help us improve this client SDK? Send a pull request to Appwrite [SDK generator repository](https://github.com/appwrite/sdk-generator).**
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ class Client:
|
|||
self._endpoint = 'https://appwrite.io/v1'
|
||||
self._global_headers = {
|
||||
'content-type': '',
|
||||
'x-sdk-version': 'appwrite:python:0.0.2',
|
||||
'x-sdk-version': 'appwrite:python:0.0.3',
|
||||
}
|
||||
|
||||
def set_self_signed(self, status=True):
|
||||
|
@ -51,7 +51,8 @@ class Client:
|
|||
|
||||
data = {}
|
||||
json = {}
|
||||
headers = {**self._global_headers, **headers}
|
||||
|
||||
self._global_headers.update(headers)
|
||||
|
||||
if method != 'get':
|
||||
data = params
|
||||
|
@ -61,13 +62,16 @@ class Client:
|
|||
json = data
|
||||
data = {}
|
||||
|
||||
response = getattr(requests, method)( # call method dynamically https://stackoverflow.com/a/4246075/2299554
|
||||
response = requests.request( # call method dynamically https://stackoverflow.com/a/4246075/2299554
|
||||
method=method,
|
||||
url=self._endpoint + path,
|
||||
params=params,
|
||||
data=data,
|
||||
json=json,
|
||||
headers=headers,
|
||||
headers=self._global_headers,
|
||||
verify=self._self_signed,
|
||||
)
|
||||
|
||||
return response
|
||||
response.raise_for_status()
|
||||
|
||||
return response.json()
|
||||
|
|
1
app/sdks/python/requirements.txt
Normal file
1
app/sdks/python/requirements.txt
Normal file
|
@ -0,0 +1 @@
|
|||
requests==2.22.0
|
|
@ -3,7 +3,7 @@ import setuptools
|
|||
setuptools.setup(
|
||||
name = 'appwrite',
|
||||
packages = ['appwrite', 'appwrite/services'],
|
||||
version = '0.0.2',
|
||||
version = '0.0.3',
|
||||
license='BSD-3-Clause',
|
||||
description = 'Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)',
|
||||
author = 'Appwrite Team',
|
||||
|
@ -11,7 +11,7 @@ setuptools.setup(
|
|||
maintainer = 'Appwrite Team',
|
||||
maintainer_email = 'team@appwrite.io',
|
||||
url = 'https://appwrite.io/support',
|
||||
download_url='https://github.com/appwrite/sdk-for-python/archive/0.0.2.tar.gz',
|
||||
download_url='https://github.com/appwrite/sdk-for-python/archive/0.0.3.tar.gz',
|
||||
# keywords = ['SOME', 'MEANINGFULL', 'KEYWORDS'],
|
||||
install_requires=[
|
||||
'requests',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Appwrite SDK for Ruby
|
||||
|
||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-ruby.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.3.0-blue.svg?v=1)
|
||||
![Version](https://img.shields.io/badge/api%20version-0.4.0-blue.svg?v=1)
|
||||
|
||||
**WORK IN PROGRESS - NOT READY FOR USAGE - Want to help us improve this client SDK? Send a pull request to Appwrite [SDK generator repository](https://github.com/appwrite/sdk-generator).**
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ $cli
|
|||
'platform' => 'server',
|
||||
],
|
||||
'python' => [
|
||||
'version' => '0.0.2',
|
||||
'version' => '0.0.3',
|
||||
'result' => __DIR__.'/../sdks/python/',
|
||||
'gitURL' => 'https://github.com/appwrite/sdk-for-python.git',
|
||||
'gitRepo' => 'git@github.com:appwrite/sdk-for-python.git',
|
||||
|
@ -122,8 +122,8 @@ $cli
|
|||
|
||||
Console::info('Fetching API Spec for '.$name.' ('.$client['platform'].')');
|
||||
|
||||
$spec = getSSLPage('https://appwrite.io/v1/open-api-2.json?extensions=1&platform='.$client['platform']);
|
||||
$spec = getSSLPage('https://localhost/v1/open-api-2.json?extensions=1&platform='.$client['platform']);
|
||||
$spec = getSSLPage('https://appwrite.io/v1/open-api-2.json?extensions=1&platform='.$client['platform']);
|
||||
|
||||
$license = 'BSD-3-Clause';
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ $home = $this->getParam('home', '');
|
|||
<hr />
|
||||
|
||||
<div class="pull-end">
|
||||
<a href="" data-ls-attrs="href=//{{env.DOMAIN}}/v1/storage/files/{{file.$uid}}/preview?project={{router.params.project}}&mode=admin" target="_blank">Open preview in new window <i class="icon-link-ext"></i></a>
|
||||
<a href="" data-ls-attrs="href=//{{env.DOMAIN}}/v1/storage/files/{{file.$uid}}/preview?project={{router.params.project}}&mode=admin" target="_blank">Open preview <i class="icon-link-ext"></i></a>
|
||||
</div>
|
||||
|
||||
<button type="submit">Update</button> <button data-ui-modal-close="" type="button" class="reverse">Cancel</button>
|
||||
|
|
|
@ -38,9 +38,7 @@
|
|||
"ext-zlib": "*",
|
||||
"ext-sockets": "*",
|
||||
|
||||
"appwrite/sdk-generator": "master",
|
||||
"appwrite/php-clamav": "master",
|
||||
"appwrite/appwrite": "master",
|
||||
|
||||
"utopia-php/framework": "master",
|
||||
"utopia-php/abuse": "master",
|
||||
|
@ -60,6 +58,7 @@
|
|||
"phpmailer/phpmailer": "6.0.7"
|
||||
},
|
||||
"require-dev": {
|
||||
"appwrite/sdk-generator": "master",
|
||||
"phpunit/phpunit": "^7.0"
|
||||
},
|
||||
"repositories": [
|
||||
|
|
944
composer.lock
generated
944
composer.lock
generated
File diff suppressed because it is too large
Load diff
2
public/dist/scripts/app-all.js
vendored
2
public/dist/scripts/app-all.js
vendored
|
@ -2635,7 +2635,7 @@ return list;};let apply=function(params){let cached=container.get(name);cached=c
|
|||
element.setAttribute("data-event","none");}
|
||||
break;default:break;}}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-parent-down",controller:function(element){var target=element.dataset["target"]||null;target=target?element.closest(target):element.parentNode;element.addEventListener("click",function(){if(target.nextElementSibling){target.parentNode.insertBefore(target.nextElementSibling,target);element.scrollIntoView({behavior:"smooth"});}});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-parent-remove",controller:function(element){var target=element.dataset["target"]||null;target=target?element.closest(target):element.parentNode;element.addEventListener("click",function(){target.parentNode.removeChild(target);element.scrollIntoView({behavior:"smooth"});});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-parent-up",controller:function(element){var target=element.dataset["target"]||null;target=target?element.closest(target):element.parentNode;element.addEventListener("click",function(){if(target.previousElementSibling){target.parentNode.insertBefore(target,target.previousElementSibling);element.scrollIntoView({behavior:"smooth"});}});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-password-meter",controller:function(element,window){var calc=function(password){var score=0;if(!password)return score;var letters=new window.Object();for(var i=0;i<password.length;i++){letters[password[i]]=(letters[password[i]]||0)+1;score+=5.0/letters[password[i]];}
|
||||
var variations={digits:/\d/.test(password),lower:/[a-z]/.test(password),upper:/[A-Z]/.test(password),nonWords:/\W/.test(password)};var variationCount=0;for(var check in variations){if(variations.hasOwnProperty(check)){variationCount+=variations[check]===true?1:0;}}
|
||||
score+=(variationCount-1)*10;return parseInt(score);};var callback=function(){var score=calc(this.value);if(""===this.value)return(meter.className="password-meter");if(score>60)return(meter.className="password-meter strong");if(score>30)return(meter.className="password-meter medium");if(score>=0)return(meter.className="password-meter weak");};var meter=window.document.createElement("div");meter.className="password-meter";element.parentNode.insertBefore(meter,element.nextSibling);element.addEventListener("change",callback);element.addEventListener("keypress",callback);element.addEventListener("keyup",callback);element.addEventListener("keydown",callback);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-pell",controller:function(element,window,document,markdown){var div=document.createElement("div");element.className="pell hide";div.className="input pell";element.parentNode.insertBefore(div,element);element.tabIndex=-1;var turndownService=new TurndownService();turndownService.addRule("underline",{filter:["u"],replacement:function(content){return"__"+content+"__";}});var editor=window.pell.init({element:div,onChange:function onChange(html){element.value=turndownService.turndown(html);},defaultParagraphSeparator:"p",actions:[{name:"bold",icon:'<i class="icon-bold"></i>'},{name:"underline",icon:'<i class="icon-underline"></i>'},{name:"italic",icon:'<i class="icon-italic"></i>'},{name:"olist",icon:'<i class="icon-list-numbered"></i>'},{name:"ulist",icon:'<i class="icon-list-bullet"></i>'},{name:"link",icon:'<i class="icon-link"></i>'}]});element.addEventListener("change",function(){editor.content.innerHTML=markdown.render(element.value);});editor.content.setAttribute("placeholder",element.placeholder);editor.content.innerHTML=markdown.render(element.value);editor.content.tabIndex=0;editor.content.onkeydown=function preventTab(event){if(event.which===9){event.preventDefault();if(document.activeElement){var focussable=Array.prototype.filter.call(document.querySelectorAll('a:not([disabled]), button:not([disabled]), select:not([disabled]), input[type=text]:not([disabled]), input[type=checkbox]:not([disabled]), [tabindex]:not([disabled]):not([tabindex="-1"])'),function(element){return(element.offsetWidth>0||element.offsetHeight>0||element===document.activeElement);});var index=focussable.indexOf(document.activeElement);if(index>-1){if(event.shiftKey){var prevElement=focussable[index-1]||focussable[focussable.length-1];prevElement.focus();}else{var nextElement=focussable[index+1]||focussable[0];nextElement.focus();}}}}};var clean=function(e){e.stopPropagation();e.preventDefault();var clipboardData=e.clipboardData||window.clipboardData;window.pell.exec("insertText",clipboardData.getData("Text"));return true;};div.addEventListener("paste",clean);div.addEventListener("drop",clean);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-remove",controller:function(element){Array.prototype.slice.call(element.querySelectorAll("[data-remove]")).map(function(obj){obj.addEventListener("click",function(){element.parentNode.removeChild(element);});});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-switch",controller:function(element){let input=window.document.createElement("input");input.type="checkbox";input.className="switch";let syncA=function(){element.value=input.checked?"on":"off";};let syncB=function(){input.checked=element.value==="on";};input.addEventListener("input",syncA);input.addEventListener("change",syncA);element.addEventListener("input",syncB);element.addEventListener("change",syncB);syncA();element.parentNode.insertBefore(input,element);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-tags",controller:function(element){let array=[];let tags=window.document.createElement("div");let preview=window.document.createElement("ul");let add=window.document.createElement("input");tags.className="tags";preview.className="tags-list";add.type="text";add.className="add";tags.addEventListener("click",function(){add.focus();});add.addEventListener("keydown",function(event){if((event.key==="Enter"||event.key===" ")&&add.value.length>0){array.push(add.value);add.value="";element.value=JSON.stringify(array);check();event.preventDefault();}
|
||||
score+=(variationCount-1)*10;return parseInt(score);};var callback=function(){var score=calc(this.value);if(""===this.value)return(meter.className="password-meter");if(score>60)return(meter.className="password-meter strong");if(score>30)return(meter.className="password-meter medium");if(score>=0)return(meter.className="password-meter weak");};var meter=window.document.createElement("div");meter.className="password-meter";element.parentNode.insertBefore(meter,element.nextSibling);element.addEventListener("change",callback);element.addEventListener("keypress",callback);element.addEventListener("keyup",callback);element.addEventListener("keydown",callback);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-pell",controller:function(element,window,document,markdown){var div=document.createElement("div");element.className="pell hide";div.className="input pell";element.parentNode.insertBefore(div,element);element.tabIndex=-1;var turndownService=new TurndownService();turndownService.addRule("underline",{filter:["u"],replacement:function(content){return"__"+content+"__";}});var editor=window.pell.init({element:div,onChange:function onChange(html){element.value=turndownService.turndown(html);},defaultParagraphSeparator:"p",actions:[{name:"bold",icon:'<i class="icon-bold"></i>'},{name:"underline",icon:'<i class="icon-underline"></i>'},{name:"italic",icon:'<i class="icon-italic"></i>'},{name:"olist",icon:'<i class="icon-list-numbered"></i>'},{name:"ulist",icon:'<i class="icon-list-bullet"></i>'},{name:"link",icon:'<i class="icon-link"></i>'}]});element.addEventListener("change",function(){editor.content.innerHTML=markdown.render(element.value);});editor.content.setAttribute("placeholder",element.placeholder);editor.content.innerHTML=markdown.render(element.value);editor.content.tabIndex=0;editor.content.onkeydown=function preventTab(event){if(event.which===9){event.preventDefault();if(document.activeElement){var focussable=Array.prototype.filter.call(document.querySelectorAll('a:not([disabled]), button:not([disabled]), select:not([disabled]), input[type=text]:not([disabled]), input[type=checkbox]:not([disabled]), [tabindex]:not([disabled]):not([tabindex="-1"])'),function(element){return(element.offsetWidth>0||element.offsetHeight>0||element===document.activeElement);});var index=focussable.indexOf(document.activeElement);if(index>-1){if(event.shiftKey){var prevElement=focussable[index-1]||focussable[focussable.length-1];prevElement.focus();}else{var nextElement=focussable[index+1]||focussable[0];nextElement.focus();}}}}};var clean=function(e){e.stopPropagation();e.preventDefault();var clipboardData=e.clipboardData||window.clipboardData;window.pell.exec("insertText",clipboardData.getData("Text"));return true;};div.addEventListener("paste",clean);div.addEventListener("drop",clean);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-remove",controller:function(element){Array.prototype.slice.call(element.querySelectorAll("[data-remove]")).map(function(obj){obj.addEventListener("click",function(){element.parentNode.removeChild(element);});});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-switch",controller:function(element){let input=window.document.createElement("input");input.type="checkbox";input.className="switch";let syncA=function(){element.value=input.checked?"on":"off";};let syncB=function(){input.checked=element.value==="on";};input.addEventListener("input",syncA);input.addEventListener("change",syncA);element.addEventListener("input",syncB);element.addEventListener("change",syncB);syncA();element.parentNode.insertBefore(input,element);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-tags",controller:function(element){let array=[];let tags=window.document.createElement("div");let preview=window.document.createElement("ul");let add=window.document.createElement("input");tags.className="tags";preview.className="tags-list";add.type="text";add.className="add";tags.addEventListener("click",function(){add.focus();});add.addEventListener("keydown",function(event){if((event.key==="Enter"||event.key===" "||event.key==="Tab")&&add.value.length>0){array.push(add.value);add.value="";element.value=JSON.stringify(array);check();if(event.key!=="Tab"){event.preventDefault();}}
|
||||
if((event.key==="Backspace"||event.key==="Delete")&&add.value===""){array.splice(-1,1);element.value=JSON.stringify(array);check();}
|
||||
return false;});let check=function(){try{array=JSON.parse(element.value)||[];}catch(error){array=[];}
|
||||
if(!Array.isArray(array)){array=[];}
|
||||
|
|
2
public/dist/scripts/app.js
vendored
2
public/dist/scripts/app.js
vendored
|
@ -361,7 +361,7 @@ return list;};let apply=function(params){let cached=container.get(name);cached=c
|
|||
element.setAttribute("data-event","none");}
|
||||
break;default:break;}}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-parent-down",controller:function(element){var target=element.dataset["target"]||null;target=target?element.closest(target):element.parentNode;element.addEventListener("click",function(){if(target.nextElementSibling){target.parentNode.insertBefore(target.nextElementSibling,target);element.scrollIntoView({behavior:"smooth"});}});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-parent-remove",controller:function(element){var target=element.dataset["target"]||null;target=target?element.closest(target):element.parentNode;element.addEventListener("click",function(){target.parentNode.removeChild(target);element.scrollIntoView({behavior:"smooth"});});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-parent-up",controller:function(element){var target=element.dataset["target"]||null;target=target?element.closest(target):element.parentNode;element.addEventListener("click",function(){if(target.previousElementSibling){target.parentNode.insertBefore(target,target.previousElementSibling);element.scrollIntoView({behavior:"smooth"});}});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-password-meter",controller:function(element,window){var calc=function(password){var score=0;if(!password)return score;var letters=new window.Object();for(var i=0;i<password.length;i++){letters[password[i]]=(letters[password[i]]||0)+1;score+=5.0/letters[password[i]];}
|
||||
var variations={digits:/\d/.test(password),lower:/[a-z]/.test(password),upper:/[A-Z]/.test(password),nonWords:/\W/.test(password)};var variationCount=0;for(var check in variations){if(variations.hasOwnProperty(check)){variationCount+=variations[check]===true?1:0;}}
|
||||
score+=(variationCount-1)*10;return parseInt(score);};var callback=function(){var score=calc(this.value);if(""===this.value)return(meter.className="password-meter");if(score>60)return(meter.className="password-meter strong");if(score>30)return(meter.className="password-meter medium");if(score>=0)return(meter.className="password-meter weak");};var meter=window.document.createElement("div");meter.className="password-meter";element.parentNode.insertBefore(meter,element.nextSibling);element.addEventListener("change",callback);element.addEventListener("keypress",callback);element.addEventListener("keyup",callback);element.addEventListener("keydown",callback);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-pell",controller:function(element,window,document,markdown){var div=document.createElement("div");element.className="pell hide";div.className="input pell";element.parentNode.insertBefore(div,element);element.tabIndex=-1;var turndownService=new TurndownService();turndownService.addRule("underline",{filter:["u"],replacement:function(content){return"__"+content+"__";}});var editor=window.pell.init({element:div,onChange:function onChange(html){element.value=turndownService.turndown(html);},defaultParagraphSeparator:"p",actions:[{name:"bold",icon:'<i class="icon-bold"></i>'},{name:"underline",icon:'<i class="icon-underline"></i>'},{name:"italic",icon:'<i class="icon-italic"></i>'},{name:"olist",icon:'<i class="icon-list-numbered"></i>'},{name:"ulist",icon:'<i class="icon-list-bullet"></i>'},{name:"link",icon:'<i class="icon-link"></i>'}]});element.addEventListener("change",function(){editor.content.innerHTML=markdown.render(element.value);});editor.content.setAttribute("placeholder",element.placeholder);editor.content.innerHTML=markdown.render(element.value);editor.content.tabIndex=0;editor.content.onkeydown=function preventTab(event){if(event.which===9){event.preventDefault();if(document.activeElement){var focussable=Array.prototype.filter.call(document.querySelectorAll('a:not([disabled]), button:not([disabled]), select:not([disabled]), input[type=text]:not([disabled]), input[type=checkbox]:not([disabled]), [tabindex]:not([disabled]):not([tabindex="-1"])'),function(element){return(element.offsetWidth>0||element.offsetHeight>0||element===document.activeElement);});var index=focussable.indexOf(document.activeElement);if(index>-1){if(event.shiftKey){var prevElement=focussable[index-1]||focussable[focussable.length-1];prevElement.focus();}else{var nextElement=focussable[index+1]||focussable[0];nextElement.focus();}}}}};var clean=function(e){e.stopPropagation();e.preventDefault();var clipboardData=e.clipboardData||window.clipboardData;window.pell.exec("insertText",clipboardData.getData("Text"));return true;};div.addEventListener("paste",clean);div.addEventListener("drop",clean);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-remove",controller:function(element){Array.prototype.slice.call(element.querySelectorAll("[data-remove]")).map(function(obj){obj.addEventListener("click",function(){element.parentNode.removeChild(element);});});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-switch",controller:function(element){let input=window.document.createElement("input");input.type="checkbox";input.className="switch";let syncA=function(){element.value=input.checked?"on":"off";};let syncB=function(){input.checked=element.value==="on";};input.addEventListener("input",syncA);input.addEventListener("change",syncA);element.addEventListener("input",syncB);element.addEventListener("change",syncB);syncA();element.parentNode.insertBefore(input,element);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-tags",controller:function(element){let array=[];let tags=window.document.createElement("div");let preview=window.document.createElement("ul");let add=window.document.createElement("input");tags.className="tags";preview.className="tags-list";add.type="text";add.className="add";tags.addEventListener("click",function(){add.focus();});add.addEventListener("keydown",function(event){if((event.key==="Enter"||event.key===" ")&&add.value.length>0){array.push(add.value);add.value="";element.value=JSON.stringify(array);check();event.preventDefault();}
|
||||
score+=(variationCount-1)*10;return parseInt(score);};var callback=function(){var score=calc(this.value);if(""===this.value)return(meter.className="password-meter");if(score>60)return(meter.className="password-meter strong");if(score>30)return(meter.className="password-meter medium");if(score>=0)return(meter.className="password-meter weak");};var meter=window.document.createElement("div");meter.className="password-meter";element.parentNode.insertBefore(meter,element.nextSibling);element.addEventListener("change",callback);element.addEventListener("keypress",callback);element.addEventListener("keyup",callback);element.addEventListener("keydown",callback);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-pell",controller:function(element,window,document,markdown){var div=document.createElement("div");element.className="pell hide";div.className="input pell";element.parentNode.insertBefore(div,element);element.tabIndex=-1;var turndownService=new TurndownService();turndownService.addRule("underline",{filter:["u"],replacement:function(content){return"__"+content+"__";}});var editor=window.pell.init({element:div,onChange:function onChange(html){element.value=turndownService.turndown(html);},defaultParagraphSeparator:"p",actions:[{name:"bold",icon:'<i class="icon-bold"></i>'},{name:"underline",icon:'<i class="icon-underline"></i>'},{name:"italic",icon:'<i class="icon-italic"></i>'},{name:"olist",icon:'<i class="icon-list-numbered"></i>'},{name:"ulist",icon:'<i class="icon-list-bullet"></i>'},{name:"link",icon:'<i class="icon-link"></i>'}]});element.addEventListener("change",function(){editor.content.innerHTML=markdown.render(element.value);});editor.content.setAttribute("placeholder",element.placeholder);editor.content.innerHTML=markdown.render(element.value);editor.content.tabIndex=0;editor.content.onkeydown=function preventTab(event){if(event.which===9){event.preventDefault();if(document.activeElement){var focussable=Array.prototype.filter.call(document.querySelectorAll('a:not([disabled]), button:not([disabled]), select:not([disabled]), input[type=text]:not([disabled]), input[type=checkbox]:not([disabled]), [tabindex]:not([disabled]):not([tabindex="-1"])'),function(element){return(element.offsetWidth>0||element.offsetHeight>0||element===document.activeElement);});var index=focussable.indexOf(document.activeElement);if(index>-1){if(event.shiftKey){var prevElement=focussable[index-1]||focussable[focussable.length-1];prevElement.focus();}else{var nextElement=focussable[index+1]||focussable[0];nextElement.focus();}}}}};var clean=function(e){e.stopPropagation();e.preventDefault();var clipboardData=e.clipboardData||window.clipboardData;window.pell.exec("insertText",clipboardData.getData("Text"));return true;};div.addEventListener("paste",clean);div.addEventListener("drop",clean);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-remove",controller:function(element){Array.prototype.slice.call(element.querySelectorAll("[data-remove]")).map(function(obj){obj.addEventListener("click",function(){element.parentNode.removeChild(element);});});}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-switch",controller:function(element){let input=window.document.createElement("input");input.type="checkbox";input.className="switch";let syncA=function(){element.value=input.checked?"on":"off";};let syncB=function(){input.checked=element.value==="on";};input.addEventListener("input",syncA);input.addEventListener("change",syncA);element.addEventListener("input",syncB);element.addEventListener("change",syncB);syncA();element.parentNode.insertBefore(input,element);}});})(window);(function(window){"use strict";window.ls.container.get("view").add({selector:"data-forms-tags",controller:function(element){let array=[];let tags=window.document.createElement("div");let preview=window.document.createElement("ul");let add=window.document.createElement("input");tags.className="tags";preview.className="tags-list";add.type="text";add.className="add";tags.addEventListener("click",function(){add.focus();});add.addEventListener("keydown",function(event){if((event.key==="Enter"||event.key===" "||event.key==="Tab")&&add.value.length>0){array.push(add.value);add.value="";element.value=JSON.stringify(array);check();if(event.key!=="Tab"){event.preventDefault();}}
|
||||
if((event.key==="Backspace"||event.key==="Delete")&&add.value===""){array.splice(-1,1);element.value=JSON.stringify(array);check();}
|
||||
return false;});let check=function(){try{array=JSON.parse(element.value)||[];}catch(error){array=[];}
|
||||
if(!Array.isArray(array)){array=[];}
|
||||
|
|
2
public/dist/styles/default-ltr.css
vendored
2
public/dist/styles/default-ltr.css
vendored
File diff suppressed because one or more lines are too long
2
public/dist/styles/default-rtl.css
vendored
2
public/dist/styles/default-rtl.css
vendored
File diff suppressed because one or more lines are too long
|
@ -24,7 +24,7 @@
|
|||
|
||||
add.addEventListener("keydown", function(event) {
|
||||
if (
|
||||
(event.key === "Enter" || event.key === " ") &&
|
||||
(event.key === "Enter" || event.key === " " || event.key === "Tab") &&
|
||||
add.value.length > 0
|
||||
) {
|
||||
array.push(add.value);
|
||||
|
@ -35,7 +35,9 @@
|
|||
|
||||
check();
|
||||
|
||||
event.preventDefault();
|
||||
if(event.key !== "Tab") { // Don't lock accessibility
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
if (
|
||||
(event.key === "Backspace" || event.key === "Delete") &&
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
//font-family: Heebo,sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: 300;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
h1, h2, h2, h3, h4, h5, h6 {
|
||||
|
|
|
@ -159,15 +159,15 @@ class Structure extends Validator
|
|||
case 'boolean':
|
||||
$validator = new Validator\Boolean();
|
||||
break;
|
||||
case 'ip':
|
||||
$validator = new Validator\IP();
|
||||
break;
|
||||
case 'email':
|
||||
$validator = new Validator\Email();
|
||||
break;
|
||||
case 'url':
|
||||
$validator = new Validator\URL();
|
||||
break;
|
||||
case 'ip':
|
||||
$validator = new Validator\IP();
|
||||
break;
|
||||
case 'wildcard':
|
||||
$validator = new Validator\Mock();
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue