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 bug where user status was saved as a string instead of an integer
|
||||||
* Fixed gravatar icons not showing up correctly on the console
|
* Fixed gravatar icons not showing up correctly on the console
|
||||||
* Fixed code location of project not found error
|
* 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)
|
# 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.
|
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)
|
* ✅ [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)
|
* ✅ [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)
|
* ✅ [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)
|
* ✅ [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)!
|
* ✳️ 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')
|
->desc('Mock a delete request for SDK tests')
|
||||||
->label('scope', 'public')
|
->label('scope', 'public')
|
||||||
->label('sdk.namespace', 'bar')
|
->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')
|
->desc('Mock a post request for SDK tests')
|
||||||
->label('scope', 'public')
|
->label('scope', 'public')
|
||||||
->label('sdk.namespace', 'files')
|
->label('sdk.namespace', 'general')
|
||||||
->label('sdk.method', 'upload')
|
->label('sdk.method', 'upload')
|
||||||
->label('sdk.description', 'Mock a delete request for SDK tests')
|
->label('sdk.description', 'Mock a delete request for SDK tests')
|
||||||
->label('sdk.consumes', 'multipart/form-data')
|
->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) {
|
$utopia->shutdown(function() use ($response, $request, &$result, $utopia) {
|
||||||
|
|
||||||
$route = $utopia->match($request);
|
$route = $utopia->match($request);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Appwrite SDK for Dart
|
# Appwrite SDK for Dart
|
||||||
|
|
||||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-dart.svg?v=1)
|
![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).**
|
**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
|
# Appwrite SDK for Go
|
||||||
|
|
||||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-go.svg?v=1)
|
![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).**
|
**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
|
# Appwrite SDK for JavaScript
|
||||||
|
|
||||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-js.svg?v=1)
|
![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.**
|
**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
|
# Appwrite SDK for NodeJS
|
||||||
|
|
||||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-node.svg?v=1)
|
![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.**
|
**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
|
# Appwrite SDK for PHP
|
||||||
|
|
||||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-php.svg?v=1)
|
![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.**
|
**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
|
# Appwrite SDK for Python
|
||||||
|
|
||||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-python.svg?v=1)
|
![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).**
|
**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._endpoint = 'https://appwrite.io/v1'
|
||||||
self._global_headers = {
|
self._global_headers = {
|
||||||
'content-type': '',
|
'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):
|
def set_self_signed(self, status=True):
|
||||||
|
@ -51,7 +51,8 @@ class Client:
|
||||||
|
|
||||||
data = {}
|
data = {}
|
||||||
json = {}
|
json = {}
|
||||||
headers = {**self._global_headers, **headers}
|
|
||||||
|
self._global_headers.update(headers)
|
||||||
|
|
||||||
if method != 'get':
|
if method != 'get':
|
||||||
data = params
|
data = params
|
||||||
|
@ -61,13 +62,16 @@ class Client:
|
||||||
json = data
|
json = data
|
||||||
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,
|
url=self._endpoint + path,
|
||||||
params=params,
|
params=params,
|
||||||
data=data,
|
data=data,
|
||||||
json=json,
|
json=json,
|
||||||
headers=headers,
|
headers=self._global_headers,
|
||||||
verify=self._self_signed,
|
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(
|
setuptools.setup(
|
||||||
name = 'appwrite',
|
name = 'appwrite',
|
||||||
packages = ['appwrite', 'appwrite/services'],
|
packages = ['appwrite', 'appwrite/services'],
|
||||||
version = '0.0.2',
|
version = '0.0.3',
|
||||||
license='BSD-3-Clause',
|
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)',
|
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',
|
author = 'Appwrite Team',
|
||||||
|
@ -11,7 +11,7 @@ setuptools.setup(
|
||||||
maintainer = 'Appwrite Team',
|
maintainer = 'Appwrite Team',
|
||||||
maintainer_email = 'team@appwrite.io',
|
maintainer_email = 'team@appwrite.io',
|
||||||
url = 'https://appwrite.io/support',
|
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'],
|
# keywords = ['SOME', 'MEANINGFULL', 'KEYWORDS'],
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'requests',
|
'requests',
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Appwrite SDK for Ruby
|
# Appwrite SDK for Ruby
|
||||||
|
|
||||||
![License](https://img.shields.io/github/license/appwrite/sdk-for-ruby.svg?v=1)
|
![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).**
|
**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',
|
'platform' => 'server',
|
||||||
],
|
],
|
||||||
'python' => [
|
'python' => [
|
||||||
'version' => '0.0.2',
|
'version' => '0.0.3',
|
||||||
'result' => __DIR__.'/../sdks/python/',
|
'result' => __DIR__.'/../sdks/python/',
|
||||||
'gitURL' => 'https://github.com/appwrite/sdk-for-python.git',
|
'gitURL' => 'https://github.com/appwrite/sdk-for-python.git',
|
||||||
'gitRepo' => 'git@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'].')');
|
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://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';
|
$license = 'BSD-3-Clause';
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ $home = $this->getParam('home', '');
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<div class="pull-end">
|
<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>
|
</div>
|
||||||
|
|
||||||
<button type="submit">Update</button> <button data-ui-modal-close="" type="button" class="reverse">Cancel</button>
|
<button type="submit">Update</button> <button data-ui-modal-close="" type="button" class="reverse">Cancel</button>
|
||||||
|
|
|
@ -38,9 +38,7 @@
|
||||||
"ext-zlib": "*",
|
"ext-zlib": "*",
|
||||||
"ext-sockets": "*",
|
"ext-sockets": "*",
|
||||||
|
|
||||||
"appwrite/sdk-generator": "master",
|
|
||||||
"appwrite/php-clamav": "master",
|
"appwrite/php-clamav": "master",
|
||||||
"appwrite/appwrite": "master",
|
|
||||||
|
|
||||||
"utopia-php/framework": "master",
|
"utopia-php/framework": "master",
|
||||||
"utopia-php/abuse": "master",
|
"utopia-php/abuse": "master",
|
||||||
|
@ -60,6 +58,7 @@
|
||||||
"phpmailer/phpmailer": "6.0.7"
|
"phpmailer/phpmailer": "6.0.7"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
"appwrite/sdk-generator": "master",
|
||||||
"phpunit/phpunit": "^7.0"
|
"phpunit/phpunit": "^7.0"
|
||||||
},
|
},
|
||||||
"repositories": [
|
"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");}
|
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]];}
|
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;}}
|
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();}
|
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=[];}
|
return false;});let check=function(){try{array=JSON.parse(element.value)||[];}catch(error){array=[];}
|
||||||
if(!Array.isArray(array)){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");}
|
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]];}
|
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;}}
|
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();}
|
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=[];}
|
return false;});let check=function(){try{array=JSON.parse(element.value)||[];}catch(error){array=[];}
|
||||||
if(!Array.isArray(array)){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) {
|
add.addEventListener("keydown", function(event) {
|
||||||
if (
|
if (
|
||||||
(event.key === "Enter" || event.key === " ") &&
|
(event.key === "Enter" || event.key === " " || event.key === "Tab") &&
|
||||||
add.value.length > 0
|
add.value.length > 0
|
||||||
) {
|
) {
|
||||||
array.push(add.value);
|
array.push(add.value);
|
||||||
|
@ -35,7 +35,9 @@
|
||||||
|
|
||||||
check();
|
check();
|
||||||
|
|
||||||
event.preventDefault();
|
if(event.key !== "Tab") { // Don't lock accessibility
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
(event.key === "Backspace" || event.key === "Delete") &&
|
(event.key === "Backspace" || event.key === "Delete") &&
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
//font-family: Heebo,sans-serif,Arial;
|
//font-family: Heebo,sans-serif,Arial;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
font-size: 16px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h1, h2, h2, h3, h4, h5, h6 {
|
h1, h2, h2, h3, h4, h5, h6 {
|
||||||
|
|
|
@ -159,15 +159,15 @@ class Structure extends Validator
|
||||||
case 'boolean':
|
case 'boolean':
|
||||||
$validator = new Validator\Boolean();
|
$validator = new Validator\Boolean();
|
||||||
break;
|
break;
|
||||||
case 'ip':
|
|
||||||
$validator = new Validator\IP();
|
|
||||||
break;
|
|
||||||
case 'email':
|
case 'email':
|
||||||
$validator = new Validator\Email();
|
$validator = new Validator\Email();
|
||||||
break;
|
break;
|
||||||
case 'url':
|
case 'url':
|
||||||
$validator = new Validator\URL();
|
$validator = new Validator\URL();
|
||||||
break;
|
break;
|
||||||
|
case 'ip':
|
||||||
|
$validator = new Validator\IP();
|
||||||
|
break;
|
||||||
case 'wildcard':
|
case 'wildcard':
|
||||||
$validator = new Validator\Mock();
|
$validator = new Validator\Mock();
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue