diff --git a/touch/LoginPanel/1.0.1/.sencha/package/build-impl.xml b/touch/LoginPanel/1.0.1/.sencha/package/build-impl.xml new file mode 100644 index 0000000..0433aa2 --- /dev/null +++ b/touch/LoginPanel/1.0.1/.sencha/package/build-impl.xml @@ -0,0 +1,759 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Using Sencha Cmd from ${cmd.dir} + + + + + + + + + + + + + + + + + + Switch package version from ${package.version} to ${build.version} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/* + * This file is generated by Sencha Cmd and should NOT be edited. It redirects + * to the most recently built CSS file for the application to allow theme.html + * to load properly for image slicing (required to support non-CSS3 browsers + * such as IE9 and below). + */ +@import '${package.example.css.path}'; + + + + + + + + + + + + + + + + + + + Merging resources from base package ${base.path} + + + + + + + + + + + + + + + + + + + + + Capture theme image to ${build.dir}/theme-capture.png + + ${build.theme.capture.command} + + + Slicing theme images to ${build.resources.dir} + + ${build.theme.slice.command} + + + + + + + + + + + + + + + + + + + + + + + + + + +/** + * This file is generated by Sencha Cmd and should NOT be edited. It is + * provided to support globbing requires, custom xtypes, and other + * metadata-driven class system features + */ + + + + + + + ${build.compile.command} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/touch/LoginPanel/1.0.1/.sencha/package/build.properties b/touch/LoginPanel/1.0.1/.sencha/package/build.properties new file mode 100644 index 0000000..59f302d --- /dev/null +++ b/touch/LoginPanel/1.0.1/.sencha/package/build.properties @@ -0,0 +1,114 @@ +# =========================================== +# This file defines properties used by +# build-impl.xml, which is the base impl +# of an applications build process. +# =========================================== + +# =========================================== +# properties defining various directory +# locations +# =========================================== +build.dir=${package.build.dir} +build.resources.dir=${build.dir}/resources +package.resources.dir=${package.dir}/resources +package.sass.dir=${package.dir}/sass +package.licenses.dir=${package.dir}/licenses + +# =========================================== +# definitions of various file name patterns +# used for output artifacts +# =========================================== +build.name.prefix=${build.dir}/${package.name} +build.name.css.prefix=${build.resources.dir}/${package.name} +build.name.ruby=config.rb + +build.debug.suffix=-debug +build.all.suffix=-all +build.rtl.suffix=-rtl + +build.all.debug.suffix=${build.all.suffix}${build.debug.suffix} +build.all.rtl.suffix=${build.all.suffix}${build.rtl.suffix} +build.all.rtl.debug.suffix=${build.all.suffix}${build.rtl.suffix}${build.debug.suffix} + +# =========================================== +# define the output js file names for dev, +# debug, and compressed (no suffix) +# =========================================== +build.all.js=${build.name.prefix}.js +build.all.debug.js=${build.name.prefix}${build.debug.suffix}.js + +# =========================================== +# output file names for the scss files +# =========================================== +build.all.scss=${build.name.prefix}${build.all.debug.suffix}.scss +build.all.rtl.scss=${build.name.prefix}${build.all.rtl.debug.suffix}.scss + +# =========================================== +# output file names for the css files +# generated from the scss files by running +# a compass compilation +# =========================================== +build.all.css.debug.prefix=${package.name}${build.all.debug.suffix} +build.all.css.debug=${build.resources.dir}/${build.all.css.debug.prefix}.css +build.all.rtl.css.debug.prefix=${package.name}${build.all.rtl.debug.suffix} +build.all.rtl.css.debug=${build.resources.dir}/${build.all.rtl.css.debug.prefix}.css +build.all.css.prefix=${package.name}${build.all.suffix} +build.all.css=${build.resources.dir}/${build.all.css.prefix}.css +build.all.rtl.css.prefix=${package.name}${build.all.rtl.suffix} +build.all.rtl.css=${build.resources.dir}/${build.all.rtl.css.prefix}.css + +build.all.ruby=${build.dir}/${build.name.ruby} + +# =========================================== +# options to pass to the 'sencha fs slice' command +# =========================================== +build.slice.options= + +# =========================================== +# preprocessor options used when generating +# concatenated js output files +# =========================================== +build.compile.js.debug.options=debug:true +build.compile.js.options=debug:false + +# =========================================== +# compression option used to generate '-all' +# js output file +# =========================================== +build.compile.js.compress=+yui + +# =========================================== +# selector count threshold to use when +# splitting a single css file into multiple +# css files (IE selector limit workaround) +# =========================================== +build.css.selector.limit=4095 + +# =========================================== +# Options for sub-packages + +# Set to true/1 to enable build.version inheritance by sub-pacakges +build.subpkgs.inherit.version=0 + +# =========================================== +# theme slicing example page settings +# =========================================== +package.example.dir=${package.dir}/sass/example +package.example.base=${build.all.rtl.css.debug.prefix} +package.example.css.rel=resources/${package.example.base}.css +package.example.css=${build.dir}/${package.example.css.rel} +package.example.scss=${build.dir}/${package.example.base}.scss +package.example.theme.html=${package.example.dir}/theme.html + +bootstrap.base.path=${package.example.dir} +bootstrap.example.js=${package.example.dir}/bootstrap.js + + +# =========================================== +# options controlling output packaging +# operations for output '.pkg' file +# =========================================== +pkg.build.dir=${workspace.build.dir}/${package.name} +pkg.file.name=${package.name}.pkg +pkg.includes=**/* +pkg.excludes=package.json diff --git a/touch/LoginPanel/1.0.1/.sencha/package/codegen.json b/touch/LoginPanel/1.0.1/.sencha/package/codegen.json new file mode 100644 index 0000000..85b88fe --- /dev/null +++ b/touch/LoginPanel/1.0.1/.sencha/package/codegen.json @@ -0,0 +1,118 @@ +{ + "sources": { + "package.json.tpl.merge": { + "12322b2f0769f491000df8ec0e012dd2d78a7eaf": "eJx1zrEKwjAQgOG9TxE6S9HV2VFcFBdxONJrDW1y8XIRSum7m2pTJzMd/3cHGQuVXunAYrlX5ei79pTmqdx8QQa/wiXNK2hGEOLZwJEbLMWQLURrgYfZzg9iUTksXqOA6bE+YNBsvBhy8+6RXKvqX1PUKA+6gxbz5Qs5LNu7altt19+Q9SDXP9oQW5BPzqknDX0qwhGXxPiMhjGkersXU/EGNatRVA\u003d\u003d" + }, + "theme.html.tpl.merge": { + "79ec5194c052d6cc313e842c4e2763fa562c7b70": "eJydVE1vEzEQve+vmO4JEF6nhQNKd3MJRYCQqEg4cHS8k9jFay/2JE1U9b/X3l1KWoKIYln74Tdv3vh55PLs/dfp/Mf1FShqzCQrzxjLAGDq2p3XK0XwQr6Ei9H5BYuPNwXM0Eol4JOVRcZYJAw8haKeJCaUpMng5GpL8HkGc4UNwkfhLYZQ8h7r4xokEWWpZfhrrTdVPnWW0BKb71rMQfZ/VU64JZ5kLiFK+4BUfZ9/YO/ySdYnGmqGL07UIIwBnxJ6rMFo+zOAsDUE6XVLoYtLdXfEBMdgU+WBdgaDQqQcKMoPqjKEHJTHZZXjVjStwaJb4kOCPus+40ZsRL+aQ/CyyouCx3kXsW9orgWpex6/WY2L9aq4Cfmk5H388SkXzlEgL9pn/ANukEKYGS3RRz89HrbhCEmPtkb/f73kfiOsXmKgwXjlPMn1CZq9c3Emvyj1EVuIgDyIEPhwHPy32IlWHqXxuIUTReQ6kGsOmtf1XZ8pjeJW1ysklnpfaBtP7e4RS6MRfqXtGM5H7fbyCRKJpMbwdvQX0rqgSbvIip0uSG/wKe426JfG3Y5ho4NemD34PvtT2ZaFro8YxRqQXv8TgVfPinatkJp2ser9zN32+bD/ku/dHwtX76JR3Ssh3QXzACi8aeE\u003d" + }, + "build.properties.merge": { + "e82ebd1d5c3c044c6b5563c9a2ea04b78ef272c4": "eJytV8lu5DYQvfsrCDhATxxbngCZwwygYw45zWHyA5S61KJNkQJJeUHQ/56qErW0FqelTF9aol7txVfkrUiv/93cir9L5UWhNIgjFMqAF7WzNbig8LHxcBTZu0Bc1ih9fFBVrZO3St+L11LlpUDZUILIpAdB3xBoCyGNkHWtVS6Dssa3sqQ3B+8TxGxxcSP8duw/h6TMSbxIp2yDC8pBHqx7R5y20b+NFjiaBDWlv/xTy/xZniDp187xswNvG4fxRuAAeOw/3XTSU3C3vgL30i8iab0HYfbB+GWV3bftuW0T2lYVC92llfvHyApELUMAxznl5imsE7YJdROExJoUMg/78k3ak9qh/bfLdA6xEeQ8hueYp4nIRao/FHZN9p7m1hTqlLjspis7ZM0p8U1BSh/4LX6RWvfr+Nz1QRhW8flmBL5Q1fk3aDn3UY5w55H8SPUH0gNqKnut/ZGGZZf2dREwc8TeeBr1kOemOcLLPUPR0j0yylHktsJieuqqT8aK1vqvu5qJonzyfdCj3jrj+qxGK9DFbJD85oTELExSQPnx2MO8vm/XcDlRxYf+T5vxzCLTTrtGy7StoqafmI8+HTSTTmDAyUA042w1yRfNLdcYon+ESm4fJEj+V5qZf3dKiVjaOHt6ueCR1cwu6VjnpnWD52ReoS1OzQq1pusa55aMTx28oOJVtxazdG1+Ps7MdTlZzcaWPIwdGWuigTIZXZN5s4NLbd1O42AFtzf+0z44eDB5KUXhhadxf6C+r5BGd/U8q0iiqV1HMoinPzoORI/5fPBagun2cbtTceTiuQwM72ucCyMu2MeB7YYHJObYoV0c/PYtuAbmyEtMIbWH7WF3Ews1xajboLFGHXWJAx0WDgi+DPX/RtqZTn97b9R2zz1oPidjCI0J2FGoq7SaXccQ2rIRDk/5gQqHBOvxTw8MLZRBcNXooGqOZ2DmT3/9OVjQqlJBvFr3LB0aO+6b6LTvOpUJq0z/+Pz1y/bIv8fupIHjm+wh0gUPsR8QeH9hxzz+Tk/YpRlG2rrwAo4rrUwJTgVpcqAZFJXIZ1ISt1OT1c8nn0RkJ5l+3u4u7nU8ddP+pCLAm8RLGJ3CT7gIXJmtm6bjx6hr7aLxGL/P8HQXTP9zPMzECOFApz2/js7mY9UtrS5Ir90KJgbmlv0Vwq1lv2SaK5CUodLpXI7VDQgcB9YGH5ysWWWC16VyRWwE7Zb5HLpoYsDS8XP3EEHuDc5qTb0Uyag111Iz3avlsD0i4pBgMx/2sBbKDTdnDI1IwKPB8X16dkUjIbLFr9N5Tq4wQplcN0fw6d3d4x2vwFtc6QSePJ4A/wVRGa0C" + }, + "config.rb.tpl.merge": { + "33f446bd02c3fd24eb27891582eff6a2e789796b": "eJxLLi2KT8ksUrBVcMvMSdUDMvMSc1M14uPdPH1c4+M1ufJLSwpKS+KLSypzUoGqrPJSi0tSU7gALskTcA\u003d\u003d" + }, + "all.scss.merge": { + "da39a3ee5e6b4b0d3255bfef95601890afd80709": "eJwDAAAAAAE\u003d" + }, + "custom.js.merge": { + "199e99bbd15c3c0415569425cb21e77c95e9042a": "eJxlj0FOxDAMRfdziq9ZwUjTHIAlYslquIAncdtA4lSxC8PtSdoREmIV6f/4+dmdDjjhbY6KMSZGeycWrmQcQAqCGlWLMmEpUQzXb1xY/Ex4zgFnRMNXTAlSWseovCTybbbUDl6XsJHa1FH3sYX8B03cqqlS4OPQ//2V8CQ7K5fPriEBNjPU17gYjCZE6UnmYbacfj/GsaUNslUIhbVzu5lwq/2qVjIohGixCCVkkjiyWrOFzqWaXw0sViPr0IRYGVQ7yq+55X2HdObg7meo45udt4XnKyk7Je0Z5SWxqyyB6/Cu/Uh3ODj3crNhN28ar/f1D49P/7rLXUd7+QPuPI9g" + }, + "testing.properties.merge": { + "e65f969c42eb4f355c850fc58fea852582f20db8": "eJyVkUFywyAQBO9+xVb5oIutH/gX+QCCkbUOAooFOf59FsmqpHKKOFEwOzM0Z7r9f53O9DGx0Mge5DBygFDKMSEX1m0VOBpepLqhsndXnpPvv2Z/oefEdiKdLRNoMAJqdyqMI5lAJiXP1hSOQbbZ5msh0mskmuOvnDHHWY32JjbmDEkxOCqxBai6K5DC4d693RAWzjHMCOVCkmB5ZLhW9EWdINjJtBJv9T7cU0vXsk/2rWwxn9AisHA6AooLcgNhqi8riYXdimAn0P+07vXsCOuD8rNimLWaiDKkmBrK7UOUyR0B2RRQdzXedyp+CMVaUi0rQn3ninMxvurPspjBQ/54jjHvYLbHycGKG5Fm2SIf0u/ut9M3l43NIg\u003d\u003d" + }, + "sencha.cfg.tpl.merge": { + "6d1982cce48163a98dc46012d1d0cdfa209fbda6": "eJzFVdFq2zAUfc9XXNzBWmicvg0GgXZlD9vDWsge96LIcqJFljRJTuqN/vuOJNvJmqbbYLASim1dnXPuuVdXZ/R5LUizRpCpKeDZMr5hK0FT8mvTqooaFvg6LRUxriDrjBUudCQ1lbM+vvzqjZ6cTYbXGDr/YTerT3h4nEzORiKPEEHB0G4tE7D0A+lrT4ubxYK4cQ5xRle+TPsqUbNWBdoy1UalgCveP4SCGsG0BwYLSWEtlfBZl2fez7zjdM50NbxvmbvoE+IKH1IwwOLehOeMCXuVJX3QZLDoaGdc5S8Ta2mZFqq8j/+hgFkIMADZc85SxCxFlJ57X2I5WmDIh06Jkbx2piGmuz3lJXkRsimwaKmY3kBFnb/gl75cZsk6hmTAY12daSE6FtC2IduaUj1QiT3PKR1rGAPLUdkc4bmOWUn0jJumYVMvLHMsiIqU9CE2Um1UJZxHiYXbZ4uaykqkinoBpOF702LXUpB4sEpyGVSH0G+tdECMJggo56qt8IrSRt5lK1V1KDVBWRbW81df2qurN++GhUq6x5js3yrHo9kK5yAYPXij1L63YimAFtloJ7ECgSu5RTkYBbaKW4ue/m6AKPpuBztrg0ELSs6U6oAzpgroldAi62EWbbXs8pGEcULz/ogCQkkdPYlBOHdv4cMZEc1m1z0WXT/lP7BqTOtZq8bVp4ZlY/qKpnYqYGvRFzWd0xzsBXN8jRRq42hxu1gAKHuXjul+nHxkW7bgTtowdkLrsa/PGsmhG2CU0UdNCebTxe7b+w8SwDjw/ykDUL+cAQLGDCL5UeuQbKxxITUOTkkkTFmls4GehHjRp3jELsJv/EPADCRpJJwwEv3XT3BDVsWZXsQuXbM8zeMdkqQUZNqAGXQoIp9f0D2rIK0OV0bPlpznRgcmMfDFA2us+sXhc3+R6nV4nxxS9lv8SdYh4EVi3y6n/S4/HscBhu40yoI7SubWKWqH4YmbY1OkeZEv1tDZX4QBEtfkaV0DHXTN/+kfNN1i8uIGus83ukROU7pPteRpRX5P3mISCWV2B8MHNWdbgzwb4VZplhtdoxQBM19iLmqxg3eYJT5un/wEixPeXA\u003d\u003d" + } + }, + "targets": { + ".sencha/package/testing.properties": { + "source": "testing.properties.merge", + "version": "e65f969c42eb4f355c850fc58fea852582f20db8", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + }, + ".sencha/package/build.properties": { + "source": "build.properties.merge", + "version": "e82ebd1d5c3c044c6b5563c9a2ea04b78ef272c4", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + }, + "package.json": { + "source": "package.json.tpl.merge", + "version": "12322b2f0769f491000df8ec0e012dd2d78a7eaf", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + }, + "sass/example/theme.html": { + "source": "theme.html.tpl.merge", + "version": "79ec5194c052d6cc313e842c4e2763fa562c7b70", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + }, + "sass/example/custom.js": { + "source": "custom.js.merge", + "version": "199e99bbd15c3c0415569425cb21e77c95e9042a", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + }, + "sass/etc/all.scss": { + "source": "all.scss.merge", + "version": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + }, + "sass/config.rb": { + "source": "config.rb.tpl.merge", + "version": "33f446bd02c3fd24eb27891582eff6a2e789796b", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + }, + ".sencha/package/sencha.cfg": { + "source": "sencha.cfg.tpl.merge", + "version": "6d1982cce48163a98dc46012d1d0cdfa209fbda6", + "parameters": { + "pkgName": "LoginPanel", + "senchadir": ".sencha", + "touchRelPath": "../../touch", + "extRelPath": "../../${ext.dir}", + "pkgType": "code" + } + } + } +} \ No newline at end of file diff --git a/touch/LoginPanel/1.0.1/.sencha/package/plugin.xml b/touch/LoginPanel/1.0.1/.sencha/package/plugin.xml new file mode 100644 index 0000000..d57eba8 --- /dev/null +++ b/touch/LoginPanel/1.0.1/.sencha/package/plugin.xml @@ -0,0 +1,32 @@ + + + + + + diff --git a/touch/LoginPanel/1.0.1/.sencha/package/sencha.cfg b/touch/LoginPanel/1.0.1/.sencha/package/sencha.cfg new file mode 100644 index 0000000..3bc1c83 --- /dev/null +++ b/touch/LoginPanel/1.0.1/.sencha/package/sencha.cfg @@ -0,0 +1,60 @@ +# The name of the package - should match the "name" property in ./package.json +# +package.name=LoginPanel + +# The namespace to which this package's SASS corresponds. The default value of +# "Ext" means that the files in ./sass/src (and ./sass/var) match classes in +# the Ext" root namespace. In other words, "Ext.panel.Panel" maps to +# ./sass/src/panel/Panel.scss. +# +# To style classes from any namespace, set this to blank. If this is blank, +# then to style "Ext.panel.Panel" you would put SASS in +# ./sass/src/Ext/panel/Panel.scss. +# +package.sass.namespace=Ext + +# This is the comma-separated list of folders where classes reside. These +# classes must be explicitly required to be included in the build. +# +package.classpath=${package.dir}/src + +# This is the comma-separated list of folders of overrides. All files in this +# path will be given a tag of "packageOverrides" which is automatically +# required in generated apps by the presence of this line in app.js: +# +# //@require @packageOverrides +# +package.overrides=${package.dir}/overrides + +# This is the folder where SASS "src" resides. This is searched for SCSS +# files that match the JavaScript classes used by the application. +# +package.sass.srcpath=${package.dir}/sass/src + +# This is the folder where SASS "vars" resides. This is searched for SCSS +# files that match the JavaScript classes used by the application. +# +package.sass.varpath=${package.dir}/sass/var + +# This file is automatically imported into the SASS build before "vars". +# +package.sass.etcpath=${package.dir}/sass/etc/all.scss + +# This is the folder in which to place "sencha packaage build" output. +# +package.build.dir=${package.dir}/build + +# The folder that contains example application(s) for this package. +# +package.examples.dir=${package.dir}/examples + +# The folder that contains sub-packages of this package. Only valid for "framework" +# package type. +# +package.subpkgs.dir=${package.dir}/packages + +#============================================================================== +# Custom Properties - Place customizations below this line to avoid merge +# conflicts with newer versions + +package.cmd.version=4.0.0.150 diff --git a/touch/LoginPanel/1.0.1/.sencha/package/sub-builds.xml b/touch/LoginPanel/1.0.1/.sencha/package/sub-builds.xml new file mode 100644 index 0000000..f84a1c4 --- /dev/null +++ b/touch/LoginPanel/1.0.1/.sencha/package/sub-builds.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + package + upgrade + + + + + + + + + + + + + + + + Building example in @{example-dir} + + + + + + + + + + + + + + + Upgrading example in @{example-dir} + + + app + upgrade + + + + + + + + + + + + + + + + Cleaning example in @{example-dir} + + + + + + + + + + \ No newline at end of file diff --git a/touch/LoginPanel/1.0.1/.sencha/package/testing.properties b/touch/LoginPanel/1.0.1/.sencha/package/testing.properties new file mode 100644 index 0000000..60749a3 --- /dev/null +++ b/touch/LoginPanel/1.0.1/.sencha/package/testing.properties @@ -0,0 +1,17 @@ +# =========================================== +# This file defines properties used by +# build-impl.xml, which is the base impl +# of an applications build process. The +# properties from this file correspond to the +# 'testing' build environment, specified +# by 'sencha app build testing'. These will +# take precedence over defaults provided by +# build.properties. +# =========================================== + +# =========================================== +# compression option used to generate '-all' +# js output file. this value disables +# compression for testing builds +# =========================================== +build.compile.js.compress= diff --git a/touch/LoginPanel/1.0.1/Readme.md b/touch/LoginPanel/1.0.1/Readme.md new file mode 100644 index 0000000..dd72638 --- /dev/null +++ b/touch/LoginPanel/1.0.1/Readme.md @@ -0,0 +1,2 @@ +# CoverFlow - Read Me + diff --git a/touch/LoginPanel/1.0.1/architect/LoginPanel.js b/touch/LoginPanel/1.0.1/architect/LoginPanel.js new file mode 100644 index 0000000..cd5254d --- /dev/null +++ b/touch/LoginPanel/1.0.1/architect/LoginPanel.js @@ -0,0 +1,223 @@ +{ + "className": "sencha.login.LoginPanel", + "classAlias": "widget.loginpanel", + "inherits": "tabpanel", + "autoName": "MyLoginPanel", + "helpText": "Login Panel", + "noSetup": true, + + "toolbox": { + "name": "Login Panel", + "category": "Containers", + "groups": ["Containers"] + }, + + "events": [{ + "name": "register", + "params": [ + { + "name": "loginpanel", + "type": "sencha.login.LoginPanel", + "optional": false + }, + { + "name": "values", + "type": "Object", + "optional": false + } + ] + },{ + "name": "login", + "params": [ + { + "name": "loginpanel", + "type": "sencha.login.LoginPanel", + "optional": false + }, + { + "name": "values", + "type": "Object", + "optional": false + } + ] + }], + + "items": [{ + "type": "tabbar", + "configs": { + "docked": "bottom" + } + },{ + "type": "carousel", + "startCollapsed": true, + "noSetup": true, + "configs": { + "title": "About", + "designer|displayName": "About" + }, + "items": [{ + "type": "container", + "items": [{ + "type": "label", + "configs": { + "centered": true, + "html": "About 1" + } + }] + },{ + "type": "container", + "items": [{ + "type": "label", + "configs": { + "centered": true, + "html": "About 2" + } + }] + },{ + "type": "container", + "items": [{ + "type": "label", + "configs": { + "centered": true, + "html": "About 3" + } + }] + }] + },{ + "type": "formpanel", + "startCollapsed": true, + "configs": { + "title": "Register", + "iconCls": "user", + "itemId": "register", + "designer|displayName": "Register" + }, + "items": [{ + "type": "fieldset", + "noSetup": true, + "configs": { + "margin": 5, + "title": "Required", + "itemId": "required" + }, + "items": [{ + "type": "emailfield", + "configs": { + "name": "email", + "label": "Email", + "labelWidth": 100, + "placeHolder": "email@example.com" + } + },{ + "type": "passwordfield", + "configs": { + "name": "password", + "label": "Password", + "labelWidth": 100 + } + },{ + "type": "passwordfield", + "configs": { + "name": "confirm", + "label": "Confirm", + "labelWidth": 100 + } + }] + },{ + "type": "fieldset", + "noSetup": true, + "configs": { + "margin": "-5 5 0 5", + "title": "Other Information", + "itemId": "other" + }, + "items": [{ + "type": "textfield", + "configs": { + "name": "name", + "label": "Name", + "labelWidth": 100 + } + },{ + "type": "textfield", + "configs": { + "name": "address", + "label": "Address", + "labelWidth": 100 + } + }] + },{ + "type": "button", + "configs": { + "itemId": "registerBtn", + "margin": 20, + "ui": "confirm", + "text": "Register" + }, + "items": [{ + "type": "basiceventbinding", + "configs": { + "fn": "onRegisterButtonTap", + "name": "tap", + "implHandler": "var panel = button.up('formpanel'),\n\tvalues = panel.getValues();\n\npanel.parent.fireEvent('register', panel, values);" + } + }] + }] + },{ + "type": "formpanel", + "startCollapsed": true, + "configs": { + "layout": "card", + "title": "Log in", + "iconCls": "action", + "itemId": "login", + "designer|displayName": "Login" + }, + "items": [{ + "type": "container", + "configs": { + "layout": "vbox", + "container|pack": "center" + }, + "items": [{ + "type": "fieldset", + "noSetup": true, + "configs": { + "margin": 5 + }, + "items": [{ + "type": "emailfield", + "configs": { + "name": "email", + "label": "Email", + "labelWidth": 100, + "placeHolder": "email@example.com" + } + },{ + "type": "passwordfield", + "configs": { + "name": "password", + "label": "Password", + "labelWidth": 100 + } + }] + },{ + "type": "button", + "configs": { + "itemId": "loginBtn", + "margin": 20, + "ui": "confirm", + "text": "Log in" + }, + "items": [{ + "type": "basiceventbinding", + "configs": { + "fn": "onLoginButtonTap", + "name": "tap", + "implHandler": "var panel = button.up('formpanel'),\n\tvalues = panel.getValues();\n\npanel.parent.fireEvent('login', panel, values);" + } + }] + }] + }] + }] +} diff --git a/touch/LoginPanel/1.0.1/build.xml b/touch/LoginPanel/1.0.1/build.xml new file mode 100644 index 0000000..d90ad87 --- /dev/null +++ b/touch/LoginPanel/1.0.1/build.xml @@ -0,0 +1,37 @@ + + + + + + + + diff --git a/touch/LoginPanel/1.0.1/docs/package.png b/touch/LoginPanel/1.0.1/docs/package.png new file mode 100644 index 0000000..622a18c Binary files /dev/null and b/touch/LoginPanel/1.0.1/docs/package.png differ diff --git a/touch/LoginPanel/1.0.1/docs/screenshots/screenshot-1.png b/touch/LoginPanel/1.0.1/docs/screenshots/screenshot-1.png new file mode 100644 index 0000000..622a18c Binary files /dev/null and b/touch/LoginPanel/1.0.1/docs/screenshots/screenshot-1.png differ diff --git a/touch/LoginPanel/1.0.1/examples/Readme.md b/touch/LoginPanel/1.0.1/examples/Readme.md new file mode 100644 index 0000000..120bccb --- /dev/null +++ b/touch/LoginPanel/1.0.1/examples/Readme.md @@ -0,0 +1,38 @@ +# LoginPanel/examples + +This folder contains example applications demonstrating this package. Each of +these applications will be built as part of the package build: + + cd /path/to/package + sencha package build + +As applications, they can also be built individually: + + cd /path/to/package/examples/example-app + sencha app build + +Or you can build all examples as a group: + + cd /path/to/package + sencha ant examples + +The ideal location for the example builds to reside is the `"./build"` folder: + + /path/to/package/ + src/ + resources/ + ... + examples/ + example-app/ + other-example/ + ... + build/ + resources/ + examples/ + example-app/ + other-example/ + +This can be specified in the `".sencha/app/build.properties"` file for the +example applications: + + build.dir=$ \ No newline at end of file diff --git a/touch/LoginPanel/1.0.1/licenses/Readme.md b/touch/LoginPanel/1.0.1/licenses/Readme.md new file mode 100644 index 0000000..be01c51 --- /dev/null +++ b/touch/LoginPanel/1.0.1/licenses/Readme.md @@ -0,0 +1,3 @@ +# CoverFlow/licenses + +This folder contains the supported licenses for third-party use. diff --git a/touch/LoginPanel/1.0.1/overrides/Readme.md b/touch/LoginPanel/1.0.1/overrides/Readme.md new file mode 100644 index 0000000..b6541f0 --- /dev/null +++ b/touch/LoginPanel/1.0.1/overrides/Readme.md @@ -0,0 +1,3 @@ +# CoverFlow/overrides + +This folder contains overrides which will automatically be required by package users. diff --git a/touch/LoginPanel/1.0.1/package.json b/touch/LoginPanel/1.0.1/package.json new file mode 100644 index 0000000..58fd7cc --- /dev/null +++ b/touch/LoginPanel/1.0.1/package.json @@ -0,0 +1,30 @@ +{ + "name": "LoginPanel", + "type": "code", + "creator": "anonymous", + "summary": "Login Panel Extension", + "detailedDescription": "This extension allows easy creation of a commonly used login panel widget", + "version": "1.0.1", + "compatVersion": "1.0.0", + "format": "1", + "architect": { + "compatFrameworks": [ + "touch20", + "touch21", + "touch22", + "touch23" + ], + "classes": [{ + "className": "sencha.login.LoginPanel", + "definition": "LoginPanel.js", + "js": [ + "loginpanel.js" + ], + "css": [ + "loginpanel.css" + ] + }] + }, + "local": true, + "requires": [] +} diff --git a/touch/LoginPanel/1.0.1/resources/Readme.md b/touch/LoginPanel/1.0.1/resources/Readme.md new file mode 100644 index 0000000..d64efcd --- /dev/null +++ b/touch/LoginPanel/1.0.1/resources/Readme.md @@ -0,0 +1,3 @@ +# CoverFlow/resources + +This folder contains static resources (typically an `"images"` folder as well). diff --git a/touch/LoginPanel/1.0.1/resources/css/loginpanel.css b/touch/LoginPanel/1.0.1/resources/css/loginpanel.css new file mode 100644 index 0000000..e69de29 diff --git a/touch/LoginPanel/1.0.1/sass/Readme.md b/touch/LoginPanel/1.0.1/sass/Readme.md new file mode 100644 index 0000000..d1e4b5c --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/Readme.md @@ -0,0 +1,7 @@ +# CoverFlow/sass + +This folder contains SASS files of various kinds, organized in sub-folders: + + CoverFlow/sass/etc + CoverFlow/sass/src + CoverFlow/sass/var diff --git a/touch/LoginPanel/1.0.1/sass/config.rb b/touch/LoginPanel/1.0.1/sass/config.rb new file mode 100644 index 0000000..2c32c0a --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/config.rb @@ -0,0 +1,2 @@ +cur_dir = File.dirname(__FILE__) +output_style = :nested diff --git a/touch/LoginPanel/1.0.1/sass/etc/Readme.md b/touch/LoginPanel/1.0.1/sass/etc/Readme.md new file mode 100644 index 0000000..8f05f48 --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/etc/Readme.md @@ -0,0 +1,4 @@ +# CoverFlow/sass/etc + +This folder contains miscellaneous SASS files. Unlike `"CoverFlow/sass/etc"`, these files +need to be used explicitly. diff --git a/touch/LoginPanel/1.0.1/sass/etc/all.scss b/touch/LoginPanel/1.0.1/sass/etc/all.scss new file mode 100644 index 0000000..e69de29 diff --git a/touch/LoginPanel/1.0.1/sass/example/custom.js b/touch/LoginPanel/1.0.1/sass/example/custom.js new file mode 100644 index 0000000..4b38faf --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/example/custom.js @@ -0,0 +1,12 @@ +/* + * This file is generated as a starting point by Sencha Cmd - it will not be replaced or + * updated by "sencha package upgrade". + * + * This file can be removed and the script tag in theme.html removed if this theme does + * not need custom additional manifest or shortcut entries. These are documented in + * ./packages/ext-theme-base/sass/example/render.js. + */ + +//Ext.theme.addManifest(); + +//Ext.theme.addShortcuts(); diff --git a/touch/LoginPanel/1.0.1/sass/example/render.js b/touch/LoginPanel/1.0.1/sass/example/render.js new file mode 100644 index 0000000..e65f4e8 --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/example/render.js @@ -0,0 +1,423 @@ +/* + * This file is generated by Sencha Cmd and should NOT be edited. It will be replaced + * during an upgrade. + */ + +Ext.require([ + 'Ext.layout.Context', +]); + +Ext.theme = { + /** + * The array of all component manifests. These objects have the following set of + * properties recognized by the slicer: + * @private + */ + _manifest: [], + + /** + * The collection of shortcuts for a given alias (e.g., 'widget.panel'). This is an + * object keyed by alias whose values are arrays of shortcut definitions. + * @private + */ + _shortcuts: {}, + + doRequire : function(xtype) { + if(xtype.indexOf("widget.") != 0) { + xtype = "widget." + xtype; + } + Ext.require([xtype]); + }, + + /** + * Adds one ore more component entries to the theme manifest. These entries will be + * instantiated by the `Ext.theme.render` method when the page is ready. + * + * Usage: + * + * Ext.theme.addManifest({ + * xtype: 'widget.menu', + * folder: 'menu', + * delegate: '.x-menu-item-link', + * filename: 'menu-item-active', + * config: { + * floating: false, + * width: 200, + * items: [{ + * text: 'test', + * cls: 'x-menu-item-active' + * }] + * } + * },{ + * //... + * }); + * + * @param manifest {Object} An object with type of component, slicing information and + * component configuration. If this parameter is an array, each element is treated as + * a manifest entry. Otherwise, each argument passed is treated as a manifest entry. + * + * @param manifest.xtype {String} The xtype ('grid') or alias ('widget.grid'). This + * is used to specify the type of component to create as well as a potential key to + * any `shortcuts` defined for the xtype. + * + * @param manifest.config {Object} The component configuration object. The properties + * of this depend on the `xtype` of the component. + * + * @param [manifest.delegate] {String} The DOM query to use to select the element to + * slice. The default is to slice the primary element of the component. + * + * @param [manifest.parentCls] An optional CSS class to add to the parent of the + * component. + * + * @param [manifest.setup] {Function} An optional function to be called to initialize + * the component. + * @param manifest.setup.component {Ext.Component} The component instance + * @param manifest.setup.container {Element} The component's container. + * + * @param [manifest.folder] {String} The folder in to which to produce image slices. + * Only applies to Ext JS 4.1 (removed in 4.2). + * + * @param [manifest.filename] {String} The base filename for slices. + * Only applies to Ext JS 4.1 (removed in 4.2). + * + * @param [manifest.reverse] {Boolean} True to position the slices for linear gradient + * background at then opposite "end" (right or bottom) and apply the stretch to the + * area before it (left or top). Only applies to Ext JS 4.1 (removed in 4.2). + */ + addManifest: function (manifest) { + var all = Ext.theme._manifest; + var add = Ext.isArray(manifest) ? manifest : arguments; + + if(manifest.xtype) { + Ext.theme.doRequire(manifest.xtype); + } + + for (var i = 0, n = add.length; i < n; ++i) { + all.push(add[i]); + } + }, + + /** + * Adds one or more shortcuts to the rendering process. A `shortcut` is an object that + * looks the same as a `manifest` entry. These are combined by copying the properties + * from the shortcut over those of the manifest entry. In basic terms: + * + * var config = Ext.apply(Ext.apply({}, manfiest.config), shortcut.config); + * var entry = Ext.apply(Ext.apply({}, manfiest), shortcut); + * entry.config = config; + * + * This is not exactly the process, but the idea is the same. The difference is that + * the `ui` of the manifest entry is used to replace any `"{ui}"` substrings found in + * any string properties of the shortcut or its `config` object. + * + * Usage: + * + * Ext.theme.addShortcuts({ + * 'widget.foo': [{ + * config: { + * } + * },{ + * config: { + * } + * }], + * + * 'widget.bar': [ ... ] + * }); + */ + addShortcuts: function (shortcuts) { + var all = Ext.theme._shortcuts; + + for (var key in shortcuts) { + + var add = shortcuts[key]; + var xtype = Ext.theme.addWidget(key); + var existing = all[xtype]; + + Ext.theme.doRequire(xtype); + for(var i=0; i < add.length; i++) { + var config = add[i]; + if(config.xtype) { + Ext.theme.doRequire(config.xtype); + } + } + + if (!existing) { + all[xtype] = existing = []; + } + + existing.push.apply(existing, add); + } + }, + + /** + * This method ensures that a given string has the specified prefix (e.g., "widget."). + * @private + */ + addPrefix: function (prefix, s) { + if (!s || (s.length > prefix.length && s.substring(0,prefix.length) === prefix)) { + return s; + } + return prefix + s; + }, + + /** + * This method returns the given string with "widget." added to the front if that is + * not already present. + * @private + */ + addWidget: function (str) { + return Ext.theme.addPrefix('widget.', str); + }, + + /** + * This method accepts an manifest entry and a shortcut entry and returns the merged + * version. + * @private + */ + applyShortcut: function (manifestEntry, shortcut) { + var ui = manifestEntry.ui; + var config = Ext.theme.copyProps({}, manifestEntry.config); + var entry = Ext.theme.copyProps({}, manifestEntry); + + if (ui && !config.ui) { + config.ui = ui; + } + if (shortcut) { + var tpl = { ui: ui }; + Ext.theme.copyProps(entry, shortcut, tpl); + Ext.theme.copyProps(config, shortcut.config, tpl); + } + + entry.xtype = Ext.theme.addWidget(entry.xtype); + entry.config = config; // both guys have "config" so smash merged one on now... + return entry; + }, + + /** + * This method copies property from a `src` object to a `dest` object and reaplces + * `"{foo}"` fragments of any string properties as defined in the `tpl` object. + * + * var obj = Ext.theme.copyProps({}, { + * foo: 'Hello-{ui}' + * }, { + * ui: 'World' + * }); + * + * console.log('obj.foo: ' + obj.foo); // logs "Hello-World" + * + * @return {Object} The `dest` object or a new object (if `dest` was null). + * @private + */ + copyProps: function (dest, src, tpl) { + var out = dest || {}; + var replacements = []; + var token; + + if (src) { + if (tpl) { + for (token in tpl) { + replacements.push({ + re: new RegExp('\\{' + token + '\\}', 'g'), + value: tpl[token] + }); + } + } + + for (var key in src) { + var val = src[key]; + if (tpl && typeof val === 'string') { + for (var i = 0; i < replacements.length; ++ i) { + val = val.replace(replacements[i].re, replacements[i].value); + } + } + out[key] = val; + } + } + + return out; + }, + + /** + * Renders a component given its manifest and shortcut entries. + * @private + */ + renderWidget: function (manifestEntry, shortcut) { + var entry = Ext.theme.applyShortcut(manifestEntry, shortcut); + var config = entry.config; + var widget = Ext.create(entry.xtype, config); + var ct = Ext.fly(document.body).createChild({ cls: 'widget-container' }); + + Ext.theme.currentWidget = widget; + + if (widget.floating === true) { + widget.floating = { shadow: false }; + } + if (widget.floating) { + widget.focusOnToFront = false; + } + + if (entry.setup) { + entry.setup.call(widget, widget, ct); + } else { + widget.render(ct); + if (widget.floating) { + widget.showAt(0, 0); + ct.setHeight(widget.getHeight()); + } + } + + var el = widget.el; + if (entry.delegate) { + el = el.down(entry.delegate); + } + + el.addCls('x-slicer-target'); // this is what generateSlicerManifest looks for + + if (entry.over) { + widget.addOverCls(); + } + if (config.parentCls) { + el.parent().addCls(config.parentCls); + } + + if (Ext.theme.legacy) { + // The 4.1 approach has some interesting extra pieces + // + var data = {}; + if (entry.reverse) { + data.reverse = true; + } + if (entry.filename) { + data.filename = entry.filename; + } + if (entry.folder) { + data.folder = entry.folder; + } + if (entry.offsets) { + data.offsets = entry.offsets; + } + + Ext.theme.setData(el.dom, data); + } + + Ext.theme.currentWidget = null; + }, + + /** + * Renders all of the components that have been added to the manifest. + * @private + */ + render: function () { + var manifest = Ext.theme._manifest; + var shortcuts = Ext.theme._shortcuts; + + for (var k = 0, n = manifest ? manifest.length : 0; k < n; ++k) { + var manifestEntry = manifest[k]; + var xtype = Ext.theme.addWidget(manifestEntry.xtype); + var widgetShortcuts = xtype ? shortcuts[xtype] : null; + + if (xtype && manifestEntry.ui && widgetShortcuts) { + for (var i = 0; i < widgetShortcuts.length; i++) { + Ext.theme.renderWidget(manifestEntry, widgetShortcuts[i]); + } + } else { + Ext.theme.renderWidget(manifestEntry); + } + } + }, + + /** + * Renders all components (see `render`) and notifies the Slicer that things are ready. + * @private + */ + run: function () { + var extjsVer = Ext.versions.extjs; + var globalData = {}; + + if (Ext.layout.Context) { + Ext.override(Ext.layout.Context, { + run: function () { + var ok = this.callParent(), + widget = Ext.theme.currentWidget; + if (!ok && widget) { + Ext.Error.raise("Layout run failed: " + widget.id); + } + return ok; + } + }); + } + + // Previous to Ext JS 4.2, themes and their manifests where defined differently. + // So pass this along if we are hosting a pre-4.2 theme. + // + if (extjsVer && extjsVer.isLessThan(new Ext.Version("4.2"))) { + globalData.format = "1.0"; // tell the Slicer tool + Ext.theme.legacy = true; // not for our own data collection + + // Check for the Cmd3.0/ExtJS4.1 variables: + // + if (Ext.manifest && Ext.manifest.widgets) { + Ext.theme.addManifest(Ext.manifest.widgets); + } + if (Ext.shortcuts) { + Ext.theme.addShortcuts(Ext.shortcuts); + } + if (Ext.userManifest && Ext.userManifest.widgets) { + Ext.theme.addManifest(Ext.userManifest.widgets); + } + } + + Ext.theme.setData(document.body, globalData); + + Ext.theme.render(); + + // This function is defined by slicer.js (the framework-independent piece) + Ext.defer(generateSlicerManifest, 1); + }, + + /** + * Sets the `data-slicer` attribute to the JSON-encoded value of the provided data. + * @private + */ + setData: function (el, data) { + if (data) { + var json = Ext.encode(data); + if (json !== '{}') { + el.setAttribute('data-slicer', json); + } + } + }, + + /** + * This used to be `loadExtStylesheet`. + * @private + */ + loadCss: function (src, callback) { + var xhr = new XMLHttpRequest(); + + xhr.open('GET', src); + + xhr.onload = function() { + var css = xhr.responseText, + head = document.getElementsByTagName('head')[0], + style = document.createElement('style'); + + // There's bugginess in the next gradient syntax in WebKit r84622 + // This might be fixed in a later WebKit, but for now we're going to + // strip it out here since compass generates it. + // + // TODO: Upgrade to later WebKit revision + css = css.replace(/background(-image)?: ?-webkit-linear-gradient(?:.*?);/g, ''); + + style.type = 'text/css'; + style.innerText = css; + + head.appendChild(style); + callback(); + }; + + xhr.send(null); + } +}; + +Ext.onReady(Ext.theme.run, Ext.theme); diff --git a/touch/LoginPanel/1.0.1/sass/example/theme.html b/touch/LoginPanel/1.0.1/sass/example/theme.html new file mode 100644 index 0000000..92655ef --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/example/theme.html @@ -0,0 +1,42 @@ + + + + + Ext JS Theme Harness + + + + + + + + + + + + + + + + + + diff --git a/touch/LoginPanel/1.0.1/sass/src/Readme.md b/touch/LoginPanel/1.0.1/sass/src/Readme.md new file mode 100644 index 0000000..367d262 --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/src/Readme.md @@ -0,0 +1,4 @@ +# CoverFlow/sass/src + +This folder contains SASS sources that mimic the component-class hierarchy. These files +are gathered in to a build of the CSS based on classes that are used by the build. diff --git a/touch/LoginPanel/1.0.1/sass/var/Readme.md b/touch/LoginPanel/1.0.1/sass/var/Readme.md new file mode 100644 index 0000000..f17c5d2 --- /dev/null +++ b/touch/LoginPanel/1.0.1/sass/var/Readme.md @@ -0,0 +1,3 @@ +# CoverFlow/sass/var + +This folder contains variable declaration files named by their component class. diff --git a/touch/LoginPanel/1.0.1/src/Readme.md b/touch/LoginPanel/1.0.1/src/Readme.md new file mode 100644 index 0000000..f9278a4 --- /dev/null +++ b/touch/LoginPanel/1.0.1/src/Readme.md @@ -0,0 +1,4 @@ +# CoverFlow/src + +This folder contains source code that will automatically be added to the classpath when +the package is used. diff --git a/touch/LoginPanel/1.0.1/src/loginpanel.js b/touch/LoginPanel/1.0.1/src/loginpanel.js new file mode 100644 index 0000000..5f0da42 --- /dev/null +++ b/touch/LoginPanel/1.0.1/src/loginpanel.js @@ -0,0 +1,4 @@ +Ext.define('sencha.login.LoginPanel', { + extend: 'Ext.tab.Panel', + alias: 'widget.loginpanel' +});