├── .gitignore
├── Gruntfile.js
├── README.md
├── gulpfile.js
├── karma.conf.js
├── lib
├── My97DatePicker
│ ├── WdatePicker.js
│ └── calendar.js
├── angular-1.3.6
│ ├── angular-animate.js
│ ├── angular-animate.min.js
│ ├── angular-animate.min.js.map
│ ├── angular-aria.js
│ ├── angular-aria.min.js
│ ├── angular-aria.min.js.map
│ ├── angular-cookies.js
│ ├── angular-cookies.min.js
│ ├── angular-cookies.min.js.map
│ ├── angular-csp.css
│ ├── angular-loader.js
│ ├── angular-loader.min.js
│ ├── angular-loader.min.js.map
│ ├── angular-messages.js
│ ├── angular-messages.min.js
│ ├── angular-messages.min.js.map
│ ├── angular-mocks.js
│ ├── angular-resource.js
│ ├── angular-resource.min.js
│ ├── angular-resource.min.js.map
│ ├── angular-route.js
│ ├── angular-route.min.js
│ ├── angular-route.min.js.map
│ ├── angular-sanitize.js
│ ├── angular-sanitize.min.js
│ ├── angular-sanitize.min.js.map
│ ├── angular-scenario.js
│ ├── angular-touch.js
│ ├── angular-touch.min.js
│ ├── angular-touch.min.js.map
│ ├── angular.js
│ ├── angular.min.js
│ ├── angular.min.js.map
│ ├── errors.json
│ ├── i18n
│ │ ├── angular-locale_en-us.js
│ │ ├── angular-locale_en.js
│ │ ├── angular-locale_zh-cn.js
│ │ └── angular-locale_zh.js
│ ├── version.json
│ └── version.txt
├── angular-locale_zh-cn.js
├── angular-mocks.js
├── angular.js
├── helpers.js
├── jquery-1.8.2.min.js
└── resize-listener.js
├── misc
├── css
│ ├── bootstrap.min.css
│ └── demo.css
├── google-code-prettify
│ ├── lang-apollo.js
│ ├── lang-basic.js
│ ├── lang-clj.js
│ ├── lang-css.js
│ ├── lang-dart.js
│ ├── lang-erlang.js
│ ├── lang-go.js
│ ├── lang-hs.js
│ ├── lang-lisp.js
│ ├── lang-llvm.js
│ ├── lang-lua.js
│ ├── lang-matlab.js
│ ├── lang-ml.js
│ ├── lang-mumps.js
│ ├── lang-n.js
│ ├── lang-pascal.js
│ ├── lang-proto.js
│ ├── lang-r.js
│ ├── lang-rd.js
│ ├── lang-scala.js
│ ├── lang-sql.js
│ ├── lang-tcl.js
│ ├── lang-tex.js
│ ├── lang-vb.js
│ ├── lang-vhdl.js
│ ├── lang-wiki.js
│ ├── lang-xq.js
│ ├── lang-yaml.js
│ ├── prettify.css
│ ├── prettify.js
│ └── run_prettify.js
├── icon
│ └── redflag16.png
├── imageview
│ ├── 1.jpg
│ ├── 2.jpg
│ ├── 3.jpg
│ ├── B2.jpg
│ └── B3.jpg
├── js
│ └── ng-stats.js
├── temp
│ ├── fileupload_test.html
│ └── tabset_test.html
├── tempimg
│ ├── button
│ │ ├── iconl.gif
│ │ └── iconr.gif
│ ├── carousel
│ │ ├── carousel1.jpg
│ │ ├── carousel2.jpg
│ │ ├── carousel3.jpg
│ │ ├── carousel4.jpg
│ │ ├── carousel5.jpg
│ │ └── carousel6.jpg
│ ├── menu
│ │ └── save.gif
│ └── panel
│ │ └── icon.gif
└── test.html
├── package.json
├── src
├── accordion
│ ├── accordion.js
│ ├── docs
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ ├── demo2.html
│ │ ├── demo2.js
│ │ ├── demo3.html
│ │ ├── demo3.js
│ │ ├── demo_height.html
│ │ ├── demo_isOpen.html
│ │ ├── demo_isOpen.js
│ │ ├── demo_listener.html
│ │ ├── demo_listener.js
│ │ ├── demo_method.html
│ │ ├── demo_method.js
│ │ └── demo_oneOpen.html
│ ├── simpleTest.html
│ ├── template
│ │ └── accordion
│ │ │ ├── wi-accordion-group.html
│ │ │ └── wi-accordion.html
│ └── test
│ │ └── accordion.spec.js
├── alert
│ ├── alert.js
│ ├── docs
│ │ ├── demo.json
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ ├── demo2.html
│ │ └── demo2.js
│ └── test_alert.html
├── bindHtml
│ ├── bindHtml.js
│ └── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demo_elem.html
│ │ └── demo_elem.js
├── button
│ ├── button.js
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ └── demo.json
│ ├── template
│ │ └── button
│ │ │ └── wi-button.html
│ └── test_button.html
├── camerascanner
│ ├── camerascanner.js
│ ├── demo
│ │ └── camerascanner
│ │ │ └── docs
│ │ │ └── jscam.swf
│ ├── docs
│ │ ├── demo.json
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ └── jscam.swf
│ ├── template
│ │ ├── camerascanner
│ │ │ └── camerascannerTemplate.html
│ │ └── imageview
│ │ │ └── imageviewTemplate.html
│ └── test_camerascanner.html
├── carousel
│ ├── carousel.js
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ └── demo.json
│ ├── simpleTest.html
│ ├── template
│ │ └── carousel
│ │ │ ├── carousel.html
│ │ │ └── slide.html
│ └── test
│ │ └── carousel.spec.js
├── collapse
│ ├── collapse.js
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ └── demo.json
│ ├── simpleTest.html
│ └── test
│ │ └── collapse.spec.js
├── combobox
│ ├── combobox.js
│ ├── docs
│ │ ├── comboBox_basic.html
│ │ ├── comboBox_basic.js
│ │ ├── comboBox_enable.html
│ │ ├── comboBox_enable.js
│ │ ├── comboBox_group.html
│ │ ├── comboBox_group.js
│ │ ├── comboBox_multi.html
│ │ ├── comboBox_multi.js
│ │ ├── comboBox_noEdit.html
│ │ ├── comboBox_noEdit.js
│ │ ├── comboBox_rowCount.html
│ │ ├── comboBox_rowCount.js
│ │ └── demo.json
│ ├── template
│ │ └── combobox
│ │ │ └── comboboxTemplate.html
│ └── test_combobox.html
├── common
│ └── common.js
├── datagrid
│ ├── datagrid.js
│ ├── docs
│ │ ├── datagrid_basic.html
│ │ ├── datagrid_basic.js
│ │ ├── datagrid_columnGroup.html
│ │ ├── datagrid_columnGroup.js
│ │ ├── datagrid_excel.html
│ │ ├── datagrid_excel.js
│ │ ├── datagrid_filter.html
│ │ ├── datagrid_filter.js
│ │ ├── datagrid_headRenderer.html
│ │ ├── datagrid_headRenderer.js
│ │ ├── datagrid_itemRenderer.html
│ │ ├── datagrid_itemRenderer.js
│ │ ├── datagrid_labfunction.html
│ │ ├── datagrid_labfunction.js
│ │ ├── datagrid_lockColumn.html
│ │ ├── datagrid_lockColumn.js
│ │ ├── datagrid_multiSelect.html
│ │ ├── datagrid_multiSelect.js
│ │ ├── datagrid_nopage.html
│ │ ├── datagrid_nopage.js
│ │ ├── datagrid_rowcolor.html
│ │ ├── datagrid_rowcolor.js
│ │ ├── datagrid_server.html
│ │ ├── datagrid_server.js
│ │ ├── datagrid_sort.html
│ │ ├── datagrid_sort.js
│ │ ├── datagrid_tool.html
│ │ ├── datagrid_tool.js
│ │ ├── datagrid_tree.html
│ │ ├── datagrid_tree.js
│ │ └── demo.json
│ ├── template
│ │ └── datagrid
│ │ │ └── datagridTemplate.html
│ ├── test.html
│ ├── test
│ │ └── datagrid.spec.js
│ ├── test_datagrid.html
│ └── test_progress.html
├── dialog
│ ├── dialog.js
│ ├── docs
│ │ ├── demo.json
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ ├── demo2.html
│ │ ├── demo2.js
│ │ ├── demo3.html
│ │ ├── demo3.js
│ │ ├── demo4.html
│ │ ├── demo4.js
│ │ ├── demo5.html
│ │ ├── demo5.js
│ │ ├── iframe.html
│ │ └── template.html
│ ├── iframe.html
│ ├── index.html
│ ├── template.html
│ └── test_dialog.html
├── dividedbox
│ ├── dividedbox.js
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demo0.html
│ │ ├── demo1.html
│ │ ├── demo2.html
│ │ └── demo_head.html
│ ├── template
│ │ └── dividedbox
│ │ │ ├── wi-dividedbox-group.html
│ │ │ └── wi-dividedbox.html
│ └── test_dividedbox.html
├── else
│ └── docs
│ │ ├── demo.json
│ │ ├── demoFormBase.html
│ │ ├── demoFormGrid.html
│ │ ├── demoFormInline.html
│ │ └── demoGrid.html
├── fileupload
│ ├── docs
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demo_basic.html
│ │ ├── demo_filter.html
│ │ ├── demo_modal.html
│ │ ├── demo_multisel.html
│ │ ├── demo_remove.html
│ │ ├── demo_remove.js
│ │ ├── demo_response.html
│ │ └── demo_response.js
│ ├── fileupload.js
│ ├── temp
│ │ ├── Moxie.swf
│ │ ├── Moxie.xap
│ │ ├── plupload.full.min.js
│ │ └── upload.html
│ ├── template
│ │ └── fileupload
│ │ │ └── wi-fileupload.html
│ └── test_fileupload.html
├── imageview
│ ├── docs
│ │ ├── demo.json
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ ├── demo2.html
│ │ └── demo2.js
│ ├── imageview.js
│ ├── template
│ │ └── imageview
│ │ │ └── imageviewTemplate.html
│ └── test_imageview.html
├── index_demo.html
├── index_demo.js
├── menu
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demo0.html
│ │ ├── demo0.js
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ ├── demo2.html
│ │ ├── demo2.js
│ │ ├── demo3.html
│ │ └── demo3.js
│ ├── menu.js
│ ├── template
│ │ └── menu
│ │ │ └── wi-menu.html
│ └── test_menu.html
├── messagetip
│ ├── docs
│ │ ├── demo.json
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ ├── demo2.html
│ │ └── demo2.js
│ ├── messagetip.js
│ └── test_messagetip.html
├── my97datepicker
│ ├── docs
│ │ ├── datepicker_basic.html
│ │ ├── datepicker_basic.js
│ │ ├── datepicker_disable.html
│ │ ├── datepicker_editable.html
│ │ ├── datepicker_event.html
│ │ ├── datepicker_firstDay.html
│ │ ├── datepicker_format.html
│ │ ├── datepicker_hideButtons.html
│ │ ├── datepicker_highlight.html
│ │ ├── datepicker_qsEnable.html
│ │ ├── datepicker_quickSel.html
│ │ ├── datepicker_range.html
│ │ ├── datepicker_realDate.html
│ │ ├── datepicker_showWeek.html
│ │ ├── datepicker_startDate.html
│ │ └── demo.json
│ ├── my97datepicker.js
│ └── testMy97datepicker.html
├── panel
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demo_coll.html
│ │ ├── demo_heading.html
│ │ ├── demo_listener.html
│ │ ├── demo_listener.js
│ │ ├── demo_method.html
│ │ ├── demo_method.js
│ │ ├── demo_open.html
│ │ ├── demo_size.html
│ │ ├── demo_tools.html
│ │ └── demo_tools.js
│ ├── panel.js
│ ├── template
│ │ └── panel
│ │ │ └── wi-panel.html
│ └── test_panel.html
├── popup
│ ├── popup.js
│ └── test_popup.html
├── popupbutton
│ ├── docs
│ │ ├── demo.json
│ │ ├── popupButton_tree.html
│ │ └── popupButton_tree.js
│ ├── popupbutton.js
│ ├── template
│ │ ├── popupbutton
│ │ │ └── popupbuttonTemplate.html
│ │ └── tree
│ │ │ └── treeTemplate.html
│ └── test_popupbutton.html
├── position
│ ├── position.js
│ └── test
│ │ ├── position.spec.js
│ │ └── test.html
├── progress
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demoElem.html
│ │ ├── demoElem.js
│ │ ├── demoType.html
│ │ └── demoType.js
│ ├── progress.js
│ ├── template
│ │ └── progress
│ │ │ └── wi-progress.html
│ └── test_progress.html
├── resizelistener
│ └── resizelistener.js
├── searchinput
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ └── demo.json
│ ├── searchinput.js
│ ├── template
│ │ └── searchinput
│ │ │ └── wi-searchinput.html
│ └── test_searchinput.html
├── tabset
│ ├── docs
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demo1.html
│ │ ├── demo1.js
│ │ ├── demo2.html
│ │ ├── demo3.html
│ │ ├── demo3.js
│ │ ├── demo4.html
│ │ ├── demo5.html
│ │ ├── demo_heading.html
│ │ ├── demo_method.html
│ │ └── demo_method.js
│ ├── tabset.js
│ ├── template
│ │ └── tebset
│ │ │ ├── tabTemplate.html
│ │ │ └── tabsetTemplate.html
│ ├── test
│ │ └── tabset.spec.js
│ └── test_tabset.html
├── tilelist
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ ├── demo.json
│ │ ├── demoData.html
│ │ ├── demoData.js
│ │ └── demoH.html
│ ├── template
│ │ └── tilelist
│ │ │ └── tilelistTemplate.html
│ ├── test
│ │ └── tilelist.spec.js
│ ├── test_tilelist.html
│ └── tilelist.js
├── tooltip
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ └── demo.json
│ ├── template
│ │ └── tooltip
│ │ │ ├── tooltip-html-unsafe-popup.html
│ │ │ └── tooltip-popup.html
│ ├── test_tooltip.html
│ └── tooltip.js
├── transition
│ ├── docs
│ │ ├── demo.html
│ │ ├── demo.js
│ │ └── demo.json
│ ├── test
│ │ └── transition.spec.js
│ ├── test_transition.html
│ └── transition.js
└── tree
│ ├── docs
│ ├── demo.json
│ ├── tree_custom.html
│ ├── tree_custom.js
│ ├── tree_dataprovider.html
│ ├── tree_dataprovider.js
│ ├── tree_event.html
│ ├── tree_event.js
│ ├── tree_filter.html
│ ├── tree_filter.js
│ ├── tree_method.html
│ ├── tree_method.js
│ ├── tree_renderer.html
│ ├── tree_renderer.js
│ ├── tree_select.html
│ └── tree_select.js
│ ├── index.html
│ ├── template
│ └── tree
│ │ └── treeTemplate.html
│ └── tree.js
└── themes
├── blue
├── accordion.css
├── alert.css
├── camerascanner.css
├── carousel.css
├── collapse.css
├── combobox.css
├── datagrid.css
├── dialog.css
├── dividedbox.css
├── fileupload.css
├── fonts
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ └── glyphicons-halflings-regular.woff
├── images
│ ├── camerascanner
│ │ ├── tools.png
│ │ └── wait.gif
│ ├── datagrid
│ │ └── loading.gif
│ ├── dividedbox
│ │ └── collctrl.gif
│ ├── imageview
│ │ ├── ctrls.png
│ │ ├── loading.gif
│ │ └── nopic.gif
│ ├── my97datepicker
│ │ ├── datePicker.gif
│ │ └── img.gif
│ └── tree
│ │ └── loading.gif
├── imageview.css
├── less-nameset.less
├── menu.css
├── messagetip.css
├── my97datepicker.css
├── panel.css
├── popup.css
├── popupbutton.css
├── progress.css
├── searchinput.css
├── tabset.css
├── theme.css
├── tilelist.css
├── tooltip.css
├── tree.css
└── wi-all.css
└── default
├── accordion.css
├── alert.css
├── camerascanner.css
├── carousel.css
├── collapse.css
├── combobox.css
├── datagrid.css
├── dialog.css
├── dividedbox.css
├── fileupload.css
├── fonts
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
└── glyphicons-halflings-regular.woff
├── images
├── camerascanner
│ ├── tools.png
│ └── wait.gif
├── datagrid
│ └── loading.gif
├── dividedbox
│ └── collctrl.gif
├── imageview
│ ├── ctrls.png
│ ├── loading.gif
│ └── nopic.gif
├── my97datepicker
│ ├── datePicker.gif
│ └── img.gif
└── tree
│ └── loading.gif
├── imageview.css
├── less-nameset.less
├── menu.css
├── messagetip.css
├── my97datepicker.css
├── panel.css
├── popup.css
├── popupbutton.css
├── progress.css
├── searchinput.css
├── tabset.css
├── theme.css
├── tilelist.css
├── tooltip.css
├── tree.css
└── wi-all.css
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/.gitignore
--------------------------------------------------------------------------------
/Gruntfile.js:
--------------------------------------------------------------------------------
1 | module.exports = function (grunt) {
2 |
3 | grunt.loadNpmTasks('grunt-ngdocs');
4 | grunt.loadNpmTasks('grunt-contrib-connect');
5 | grunt.loadNpmTasks('grunt-contrib-clean');
6 |
7 | grunt.initConfig({
8 | ngdocs: {
9 | options: {
10 | dest: 'build/docs',
11 | title:'WebUI4AngularJS',
12 | scripts: ['angular.js', 'build/WebUI4Angular-tpls-all-mini.js'],
13 | html5Mode: false
14 | },
15 | all: ['src/*/*.js']
16 | }
17 | });
18 | grunt.registerTask('default', ['ngdocs']);
19 |
20 | };
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # WebUI4Angular
2 | a set of components with angularjs, which includes Datagrid,tree,dialog,progress,tilelist,tabset,dividedbox,imageview and so on.
3 |
4 | 参照了UI Bootstrap等组件的写法,主要对指令进行了自己的封装,我们希望通过angular的指令编写一套类似flex的声明式UI组件,使得页面代码更加简洁,可读性更强。
5 |
6 | #Quickstart
7 | 组件demo在线演示
8 |
9 | #Setup & Install
10 | 安装:
11 | npm install
12 |
13 | 运行构建:gulp build
14 |
15 | 构建清理:gulp clean
16 |
17 | 运行测试:gulp test
18 |
19 | 生成文档:gulp doc
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/angular-1.3.6/angular-cookies.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | AngularJS v1.3.6
3 | (c) 2010-2014 Google, Inc. http://angularjs.org
4 | License: MIT
5 | */
6 | (function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(e,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&e.$apply())})();k=!0;e.$watch(function(){var a,d,e;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)d=c[a],f.isString(d)||(d=""+d,c[a]=d),d!==g[a]&&(b.cookies(a,d),e=!0);if(e)for(a in d=b.cookies(),c)c[a]!==d[a]&&(m(d[a])?delete c[a]:c[a]=d[a])});return c}]).factory("$cookieStore",
7 | ["$cookies",function(e){return{get:function(b){return(b=e[b])?f.fromJson(b):b},put:function(b,c){e[b]=f.toJson(c)},remove:function(b){delete e[b]}}}])})(window,window.angular);
8 | //# sourceMappingURL=angular-cookies.min.js.map
9 |
--------------------------------------------------------------------------------
/lib/angular-1.3.6/angular-csp.css:
--------------------------------------------------------------------------------
1 | /* Include this file in your html if you are using the CSP mode. */
2 |
3 | @charset "UTF-8";
4 |
5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
6 | .ng-cloak, .x-ng-cloak,
7 | .ng-hide:not(.ng-hide-animate) {
8 | display: none !important;
9 | }
10 |
11 | ng\:form {
12 | display: block;
13 | }
14 |
--------------------------------------------------------------------------------
/lib/angular-1.3.6/version.json:
--------------------------------------------------------------------------------
1 | {"raw":"v1.3.6","major":1,"minor":3,"patch":6,"prerelease":[],"build":[],"version":"1.3.6","codeName":"robofunky-danceblaster","full":"1.3.6","branch":"v1.3.x","cdn":{"raw":"v1.3.5","major":1,"minor":3,"patch":5,"prerelease":[],"build":[],"version":"1.3.5","docsUrl":"http://code.angularjs.org/1.3.5/docs"}}
--------------------------------------------------------------------------------
/lib/angular-1.3.6/version.txt:
--------------------------------------------------------------------------------
1 | 1.3.6
--------------------------------------------------------------------------------
/lib/helpers.js:
--------------------------------------------------------------------------------
1 | // jasmine matcher for expecting an element to have a css class
2 | // https://github.com/angular/angular.js/blob/master/test/matchers.js
3 | beforeEach(function() {
4 | this.addMatchers({
5 | toHaveClass: function(cls) {
6 | this.message = function() {
7 | return "Expected '" + this.actual + "'" + (this.isNot ? ' not ' : ' ') + "to have class '" + cls + "'.";
8 | };
9 |
10 | return this.actual.hasClass(cls);
11 | },
12 | toBeHidden: function () {
13 | var element = angular.element(this.actual);
14 | return element.hasClass('ng-hide') ||
15 | element.css('display') == 'none';
16 | }
17 | });
18 | });
19 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-apollo.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,
2 | null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-basic.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^"(?:[^\n\r"\\]|\\.)*(?:"|$)/,a,'"'],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^REM[^\n\r]*/,a],["kwd",/^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/,a],["pln",/^[a-z][^\W_]?(?:\$|%)?/i,a],["lit",/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i,a,"0123456789"],["pun",
3 | /^.[^\s\w"$%.]*/,a]]),["basic","cbm"]);
4 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-css.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n\u000c"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]+)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],
2 | ["com",/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}\b/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-dart.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["com",/^#!.*/],["kwd",/^\b(?:import|library|part of|part|as|show|hide)\b/i],["com",/^\/\/.*/],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["kwd",/^\b(?:class|interface)\b/i],["kwd",/^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i],["kwd",/^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i],
2 | ["typ",/^\b(?:bool|double|dynamic|int|num|object|string|void)\b/i],["kwd",/^\b(?:false|null|true)\b/i],["str",/^r?'''[\S\s]*?[^\\]'''/],["str",/^r?"""[\S\s]*?[^\\]"""/],["str",/^r?'('|[^\n\f\r]*?[^\\]')/],["str",/^r?"("|[^\n\f\r]*?[^\\]")/],["pln",/^[$_a-z]\w*/i],["pun",/^[!%&*+/:<-?^|~-]/],["lit",/^\b0x[\da-f]+/i],["lit",/^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i],["lit",/^\b\.\d+(?:e[+-]?\d+)?/i],["pun",/^[(),.;[\]{}]/]]),
3 | ["dart"]);
4 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-erlang.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["lit",/^[a-z]\w*/],["lit",/^'(?:[^\n\f\r'\\]|\\[^&])+'?/,null,"'"],["lit",/^\?[^\t\n ({]+/,null,"?"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^%[^\n]*/],["kwd",/^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/],
2 | ["kwd",/^-[_a-z]+/],["typ",/^[A-Z_]\w*/],["pun",/^[,.;]/]]),["erlang","erl"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-go.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]);
2 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-hs.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/,
2 | null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-lisp.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a],
3 | ["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","lsp","scm","ss","rkt"]);
4 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-llvm.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^!?"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["com",/^;[^\n\r]*/,null,";"]],[["pln",/^[!%@](?:[$\-.A-Z_a-z][\w$\-.]*|\d+)/],["kwd",/^[^\W\d]\w*/,null],["lit",/^\d+\.\d+/],["lit",/^(?:\d+|0[Xx][\dA-Fa-f]+)/],["pun",/^[(-*,:<->[\]{}]|\.\.\.$/]]),["llvm","ll"]);
2 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-lua.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],
2 | ["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-ml.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],
2 | ["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-mumps.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"]|\\.)*"/,null,'"']],[["com",/^;[^\n\r]*/,null,";"],["dec",/^\$(?:d|device|ec|ecode|es|estack|et|etrap|h|horolog|i|io|j|job|k|key|p|principal|q|quit|st|stack|s|storage|sy|system|t|test|tl|tlevel|tr|trestart|x|y|z[a-z]*|a|ascii|c|char|d|data|e|extract|f|find|fn|fnumber|g|get|j|justify|l|length|na|name|o|order|p|piece|ql|qlength|qs|qsubscript|q|query|r|random|re|reverse|s|select|st|stack|t|text|tr|translate|nan)\b/i,
2 | null],["kwd",/^(?:[^$]b|break|c|close|d|do|e|else|f|for|g|goto|h|halt|h|hang|i|if|j|job|k|kill|l|lock|m|merge|n|new|o|open|q|quit|r|read|s|set|tc|tcommit|tre|trestart|tro|trollback|ts|tstart|u|use|v|view|w|write|x|xecute)\b/i,null],["lit",/^[+-]?(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?/i],["pln",/^[a-z][^\W_]*/i],["pun",/^[^\w\t\n\r"$%;^\xa0]|_/]]),["mumps"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-n.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
3 | a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/,
4 | a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]);
5 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-pascal.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^'(?:[^\n\r'\\]|\\.)*(?:'|$)/,a,"'"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^\(\*[\S\s]*?(?:\*\)|$)|^{[\S\s]*?(?:}|$)/,a],["kwd",/^(?:absolute|and|array|asm|assembler|begin|case|const|constructor|destructor|div|do|downto|else|end|external|for|forward|function|goto|if|implementation|in|inline|interface|interrupt|label|mod|not|object|of|or|packed|procedure|program|record|repeat|set|shl|shr|then|to|type|unit|until|uses|var|virtual|while|with|xor)\b/i,a],
3 | ["lit",/^(?:true|false|self|nil)/i,a],["pln",/^[a-z][^\W_]*/i,a],["lit",/^(?:\$[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)/i,a,"0123456789"],["pun",/^.[^\s\w$'./@]*/,a]]),["pascal"]);
4 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-proto.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]);
2 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-r.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^'\\]|\\[\S\s])*(?:'|$)/,null,"'"]],[["com",/^#.*/],["kwd",/^(?:if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])/],["lit",/^0[Xx][\dA-Fa-f]+([Pp]\d+)?[Li]?/],["lit",/^[+-]?(\d+(\.\d+)?|\.\d+)([Ee][+-]?\d+)?[Li]?/],["lit",/^(?:NULL|NA(?:_(?:integer|real|complex|character)_)?|Inf|TRUE|FALSE|NaN|\.\.(?:\.|\d+))(?![\w.])/],
2 | ["pun",/^(?:<-|->>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|[!*+/^]|%.*?%|[$=@~]|:{1,3}|[(),;?[\]{}])/],["pln",/^(?:[A-Za-z]+[\w.]*|\.[^\W\d][\w.]*)(?![\w.])/],["str",/^`.+`/]]),["r","s","R","S","Splus"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-rd.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["lit",/^\\(?:cr|l?dots|R|tab)\b/],["kwd",/^\\[@-Za-z]+/],["kwd",/^#(?:ifn?def|endif)/],["pln",/^\\[{}]/],["pun",/^[()[\]{}]+/]]),["Rd","rd"]);
2 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-scala.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/],
2 | ["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-tcl.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^{+/,a,"{"],["clo",/^}+/,a,"}"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:after|append|apply|array|break|case|catch|continue|error|eval|exec|exit|expr|for|foreach|if|incr|info|proc|return|set|switch|trace|uplevel|upvar|while)\b/,a],["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",
3 | /^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["tcl"]);
4 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-tex.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]);
2 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-wiki.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]);
2 | PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/lang-yaml.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]);
3 |
--------------------------------------------------------------------------------
/misc/google-code-prettify/prettify.css:
--------------------------------------------------------------------------------
1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
--------------------------------------------------------------------------------
/misc/icon/redflag16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/icon/redflag16.png
--------------------------------------------------------------------------------
/misc/imageview/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/imageview/1.jpg
--------------------------------------------------------------------------------
/misc/imageview/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/imageview/2.jpg
--------------------------------------------------------------------------------
/misc/imageview/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/imageview/3.jpg
--------------------------------------------------------------------------------
/misc/imageview/B2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/imageview/B2.jpg
--------------------------------------------------------------------------------
/misc/imageview/B3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/imageview/B3.jpg
--------------------------------------------------------------------------------
/misc/temp/fileupload_test.html:
--------------------------------------------------------------------------------
1 | 我是返回值……
--------------------------------------------------------------------------------
/misc/temp/tabset_test.html:
--------------------------------------------------------------------------------
1 | 我是通过 url 载入的标签内容……
--------------------------------------------------------------------------------
/misc/tempimg/button/iconl.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/button/iconl.gif
--------------------------------------------------------------------------------
/misc/tempimg/button/iconr.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/button/iconr.gif
--------------------------------------------------------------------------------
/misc/tempimg/carousel/carousel1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/carousel/carousel1.jpg
--------------------------------------------------------------------------------
/misc/tempimg/carousel/carousel2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/carousel/carousel2.jpg
--------------------------------------------------------------------------------
/misc/tempimg/carousel/carousel3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/carousel/carousel3.jpg
--------------------------------------------------------------------------------
/misc/tempimg/carousel/carousel4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/carousel/carousel4.jpg
--------------------------------------------------------------------------------
/misc/tempimg/carousel/carousel5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/carousel/carousel5.jpg
--------------------------------------------------------------------------------
/misc/tempimg/carousel/carousel6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/carousel/carousel6.jpg
--------------------------------------------------------------------------------
/misc/tempimg/menu/save.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/menu/save.gif
--------------------------------------------------------------------------------
/misc/tempimg/panel/icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/misc/tempimg/panel/icon.gif
--------------------------------------------------------------------------------
/misc/test.html:
--------------------------------------------------------------------------------
1 |
嵌入网页测试页面
--------------------------------------------------------------------------------
/src/accordion/docs/demo.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/accordion/docs/demo.js
--------------------------------------------------------------------------------
/src/accordion/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"accordion",
3 | "discribe":"accordion(折叠面板)",
4 | "demos":[
5 | {"demoDiscribe":"基本","html":"accordion/docs/demo1.html","js":"accordion/docs/demo.js"},
6 | {"demoDiscribe":"动态创建","html":"accordion/docs/demo2.html","js":"accordion/docs/demo2.js"},
7 | {"demoDiscribe":"自定义heading","html":"accordion/docs/demo3.html","js":"accordion/docs/demo3.js"},
8 | {"demoDiscribe":"只打开一个","html":"accordion/docs/demo_oneOpen.html","js":"accordion/docs/demo.js"},
9 | {"demoDiscribe":"设定高度","html":"accordion/docs/demo_height.html","js":"accordion/docs/demo.js"},
10 | {"demoDiscribe":"修改is-open","html":"accordion/docs/demo_isOpen.html","js":"accordion/docs/demo_isOpen.js"},
11 | {"demoDiscribe":"事件监听","html":"accordion/docs/demo_listener.html","js":"accordion/docs/demo_listener.js"},
12 | {"demoDiscribe":"wiid调用方法","html":"accordion/docs/demo_method.html","js":"accordion/docs/demo_method.js"}
13 | ]
14 | }
--------------------------------------------------------------------------------
/src/accordion/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | width 设置宽度。
4 | 不设定高度时,高度由内容撑开,标题二中可以“添加节点”观察效果。
5 |
6 |
7 |
8 | 内容一
9 |
10 |
11 | 内容二,高度随内容高度变化。
12 |
13 | {{item}}
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/accordion/docs/demo1.js:
--------------------------------------------------------------------------------
1 | var AccordionDemoCtrl1=['$scope',function ($scope) {
2 | $scope.items = ['Item 1', 'Item 2', 'Item 3'];
3 | $scope.addItem = function() {
4 | var newItemNo = $scope.items.length + 1;
5 | $scope.items.push('Item ' + newItemNo);
6 | };
7 | }];
8 | angular.module('ui.wisoft').controller('AccordionDemoCtrl1',AccordionDemoCtrl1);
--------------------------------------------------------------------------------
/src/accordion/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{group.content}}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/accordion/docs/demo2.js:
--------------------------------------------------------------------------------
1 | var AccordionDemoCtrl2=['$scope',function ($scope) {
2 | $scope.groups = [
3 | {
4 | title: '动态 Header - 1',
5 | content: 'Dynamic Group Body - 1',
6 | open:true
7 | },
8 | {
9 | title: '动态 Header - 2',
10 | content: 'Dynamic Group Body - 2',
11 | open:false
12 | }
13 | ];
14 | }];
15 | angular.module('ui.wisoft').controller('AccordionDemoCtrl2',AccordionDemoCtrl2);
--------------------------------------------------------------------------------
/src/accordion/docs/demo3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 通过 headheight 设置标题部分高度;
4 | 通过 wi-accordion-heading 添加自定义标题。
5 |
6 |
7 |
8 | 内容一
9 |
10 |
11 |
12 | 标题二,自定义
13 |
14 | 内容二
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/accordion/docs/demo3.js:
--------------------------------------------------------------------------------
1 | var AccordionDemoCtrl3=['$scope',function ($scope) {
2 | $scope.status = {
3 | open: true,
4 | isFirstDisabled: false
5 | };
6 | }];
7 | angular.module('ui.wisoft').controller('AccordionDemoCtrl3',AccordionDemoCtrl3);
--------------------------------------------------------------------------------
/src/accordion/docs/demo_height.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 通过 height 指定 wi-accordion 高度,指定后,有且仅有一个打开的 wi-accordion-group,oneOpen 属性失效。
4 |
5 |
6 |
7 | 内容一
8 |
9 |
10 | 内容二
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/accordion/docs/demo_isOpen.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 通过修改 is-open 控制 wi-accordion-group 的打开状态。点击下方按钮切换第二个 wi-accordion-group 的打开状态。
4 |
5 |
6 |
7 |
8 | 内容一
9 |
10 |
11 | 内容二
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/accordion/docs/demo_isOpen.js:
--------------------------------------------------------------------------------
1 | var AccordionDemoIsOpenCtrl=['$scope',function ($scope) {
2 | $scope.status = {
3 | isFirstOpen: true,
4 | isFirstDisabled: false
5 | };
6 | }];
7 | angular.module('ui.wisoft').controller('AccordionDemoIsOpenCtrl',AccordionDemoIsOpenCtrl);
--------------------------------------------------------------------------------
/src/accordion/docs/demo_listener.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 请打开控制台查看输出,切换选中状态时将触发事件
4 |
5 |
6 |
7 | 内容一
8 |
9 |
10 | 内容二
11 |
12 |
13 | 内容三
14 |
15 |
16 | 内容四
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/accordion/docs/demo_listener.js:
--------------------------------------------------------------------------------
1 | var AccordionDemoListenerCtrl=['$scope',function ($scope) {
2 | $scope.onSelect = function(index,scope){
3 | console.log('选中:第',index,'项',scope);
4 | };
5 | $scope.onUnselect = function(index,scope){
6 | console.log('取消:第',index,'项',scope);
7 | };
8 | }];
9 | angular.module('ui.wisoft').controller('AccordionDemoListenerCtrl',AccordionDemoListenerCtrl);
--------------------------------------------------------------------------------
/src/accordion/docs/demo_method.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | (此处无明显效果)
14 |
15 |
16 |
17 | 内容一
18 |
19 |
20 | 内容二
21 |
22 |
23 | 内容三
24 |
25 |
26 | 内容四
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/accordion/docs/demo_method.js:
--------------------------------------------------------------------------------
1 | var AccordionDemoMethodCtrl=['$scope',function ($scope) {
2 | $scope.myAcc = {};
3 | $scope.element = function(){
4 | console.log('jqlite元素:',$scope.myAcc.element());
5 | };
6 | $scope.options = function(){
7 | console.log('用户配置:',$scope.myAcc.options());
8 | };
9 | $scope.panels = function(){
10 | console.log('所有面板:',$scope.myAcc.panels());
11 | };
12 | $scope.getSelect = function(){
13 | console.log('选中项:',$scope.myAcc.getSelect());
14 | };
15 | $scope.getGroup = function(){
16 | console.log('第1项',$scope.myAcc.getGroup(1));
17 | };
18 | $scope.toggle = function(){
19 | $scope.myAcc.toggle(2);
20 | console.log('切换第二项选中状态');
21 | };
22 | $scope.reCompute = function(){
23 | $scope.myAcc.reCompute();
24 | console.log('重新计算尺寸');
25 | };
26 | }];
27 | angular.module('ui.wisoft').controller('AccordionDemoMethodCtrl',AccordionDemoMethodCtrl);
--------------------------------------------------------------------------------
/src/accordion/docs/demo_oneOpen.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 通过 oneopen 指定打开一个 wi-accordion-group 时,关闭其他已打开的。
4 |
5 |
6 |
7 | 内容一
8 |
9 |
10 | 内容二
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/accordion/template/accordion/wi-accordion-group.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/accordion/template/accordion/wi-accordion.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/alert/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"alert",
3 | "discribe":"alert(提示框)",
4 | "demos":[
5 | {"demoDiscribe":"基本用法","html":"alert/docs/demo1.html","js":"alert/docs/demo1.js"},
6 | {"demoDiscribe":"自定义属性","html":"alert/docs/demo2.html","js":"alert/docs/demo2.js"}
7 | ]
8 | }
--------------------------------------------------------------------------------
/src/alert/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/alert/docs/demo1.js:
--------------------------------------------------------------------------------
1 | var alertCtrl1=['$scope','wiAlert',function ($scope,wiAlert){
2 | $scope.info=function(){
3 | wiAlert.info("请选择要操作的数据!");
4 | }
5 | $scope.warn=function(){
6 | wiAlert.warn("该条数据已经被更新,请刷新列表获取最新数据!");
7 | }
8 | $scope.error=function(){
9 | wiAlert.error("数据删除失败!");
10 | }
11 | $scope.success=function(){
12 | wiAlert.success("删除数据成功!")
13 | .yes(function(){
14 | wiAlert.info("点击了确定按钮!!!");
15 | })
16 | }
17 | $scope.confirm=function(){
18 | wiAlert.confirm("确定要删除该条数据吗?")
19 | .yes(function(){
20 | wiAlert.success("删除数据成功!");
21 | })
22 | .no(function(){
23 | wiAlert.info("您取消了本次操作!");
24 | })
25 | }
26 | }];
27 | angular.module('ui.wisoft').controller('alertCtrl1',alertCtrl1);
--------------------------------------------------------------------------------
/src/alert/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/alert/docs/demo2.js:
--------------------------------------------------------------------------------
1 | var alertCtrl2=['$scope','wiAlert',function ($scope,wiAlert){
2 | $scope.confirm=function(){
3 | wiAlert.confirm({
4 | title:'社区删除',
5 | yesLabel:'确定删除',
6 | noLabel:'取消操作',
7 | width:500,
8 | content:'删除社区后对应的系统办件信息也将被删除,您确定要删除 胡埭社区 吗?'
9 | }) .yes(function(){
10 | wiAlert.success("删除数据成功!");
11 | })
12 | .no(function(){
13 | wiAlert.info("您取消了本次操作!");
14 | })
15 | }
16 | }];
17 | angular.module('ui.wisoft').controller('alertCtrl2',alertCtrl2);
--------------------------------------------------------------------------------
/src/bindHtml/bindHtml.js:
--------------------------------------------------------------------------------
1 | angular.module('ui.wisoft.bindHtml', [])
2 |
3 | /**
4 | * @ngdoc directive
5 | * @name ui.wisoft.bindHtml.directive:bindHtmlUnsafe
6 | * @restrict A
7 | *
8 | * @description
9 | * bindHtmlUnsafe 可以指定该元素中的内容。
10 | *
11 | * @param {string} bindHtmlUnsafe 绑定了该元素内容的 scope 中的对象名(其值可以为 html 代码段的字符串,或 jqlite 元素)
12 | *
13 | */
14 | .directive('bindHtmlUnsafe', function () {
15 | return function (scope, element, attr) {
16 | element.addClass('ng-binding').data('$binding', attr.bindHtmlUnsafe);
17 | scope.$watch(attr.bindHtmlUnsafe, function bindHtmlUnsafeWatchAction(value) {
18 | if(!value) return;
19 | if(typeof value == 'string')
20 | element.html(value || '');
21 | else{
22 | element.empty().append(value);
23 | }
24 | });
25 | };
26 | });
--------------------------------------------------------------------------------
/src/bindHtml/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
绑定的对象指定一段 html 代码段:
3 |
4 |
--------------------------------------------------------------------------------
/src/bindHtml/docs/demo.js:
--------------------------------------------------------------------------------
1 | var bindHtmlCtrl = ['$scope',function($scope){
2 | $scope.elemStr = '';
3 | }];
4 | angular.module('ui.wisoft').controller('bindHtmlCtrl',bindHtmlCtrl);
--------------------------------------------------------------------------------
/src/bindHtml/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"bindHtml",
3 | "discribe":"bindHtml(绑定html)",
4 | "demos":[
5 | {"demoDiscribe": "html 代码段","html":"bindHtml/docs/demo.html","js":"bindHtml/docs/demo.js"},
6 | {"demoDiscribe":"html 元素","html":"bindHtml/docs/demo_elem.html","js":"bindHtml/docs/demo_elem.js"}
7 | ]
8 | }
--------------------------------------------------------------------------------
/src/bindHtml/docs/demo_elem.html:
--------------------------------------------------------------------------------
1 |
2 |
绑定的对象是 jqlite 元素:
3 |
4 |
--------------------------------------------------------------------------------
/src/bindHtml/docs/demo_elem.js:
--------------------------------------------------------------------------------
1 | var bindHtmlCtrl1 = ['$scope','$compile',function($scope, $compile){
2 | $scope.myClick = function(){
3 | alert('事件被触发了');
4 | };
5 | $scope.elem = $compile('')($scope);
6 | }];
7 | angular.module('ui.wisoft').controller('bindHtmlCtrl1',bindHtmlCtrl1);
--------------------------------------------------------------------------------
/src/button/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/button/docs/demo.js:
--------------------------------------------------------------------------------
1 | var ButtonDemoCtrl = ['$scope', function($scope) {
2 | var ctrl = this;
3 | }];
4 | angular.module('ui.wisoft').controller('ButtonDemoCtrl',ButtonDemoCtrl);
--------------------------------------------------------------------------------
/src/button/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"button",
3 | "discribe":"button(按钮)",
4 | "demos":[
5 | {"demoDiscribe":"常用","html":"button/docs/demo.html","js":"button/docs/demo.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/button/template/button/wi-button.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/button/test_button.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | button
6 |
7 |
8 |
9 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
33 |
34 |
--------------------------------------------------------------------------------
/src/camerascanner/demo/camerascanner/docs/jscam.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/camerascanner/demo/camerascanner/docs/jscam.swf
--------------------------------------------------------------------------------
/src/camerascanner/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"cameraScanner",
3 | "discribe":"cameraScanner(拍照上传)",
4 | "demos":[
5 | {"demoDiscribe":"拍照上传","html":"camerascanner/docs/demo1.html","js":"camerascanner/docs/demo1.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/camerascanner/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
2 | 拍照上传
3 |
4 |
--------------------------------------------------------------------------------
/src/camerascanner/docs/demo1.js:
--------------------------------------------------------------------------------
1 | var CameraScannerDemoCtrl=['wiAlert',function (wiAlert) {
2 | this.uploadUrl = 'http://192.10.110.174:8804/NewFrame/CommonServlet?bean=FileUploadCommonPO&path=D:\\wisoft\\&sid=408aee4e3bacd24f013bb0ec0e650030';
3 |
4 | this.uploadComplete = function(data) {
5 | setTimeout(function(){
6 | var option = {
7 | width: 600,
8 | title: '文件下载地址',
9 | content:'http://192.10.110.174:8804/NewFrame/CommonServlet?bean=FileDownloadPO&file'+data
10 | }
11 | wiAlert.info(option);
12 | }, 500);
13 |
14 | }
15 | }];
16 | angular.module('ui.wisoft').controller('CameraScannerDemoCtrl',CameraScannerDemoCtrl);
--------------------------------------------------------------------------------
/src/camerascanner/docs/jscam.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/camerascanner/docs/jscam.swf
--------------------------------------------------------------------------------
/src/carousel/docs/demo.html:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
Slide {{$index}}
27 |
{{slide.text}}
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | Interval, in milliseconds:
38 |
Enter a negative number to stop the interval.
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/src/carousel/docs/demo.js:
--------------------------------------------------------------------------------
1 | var CarouselDemoCtrl=['$scope',function($scope) {
2 | $scope.myInterval = 2000;
3 | var slides = $scope.slides = [];
4 | $scope.addSlide = function() {
5 | var index = 1 + slides.length%5;
6 | slides.push({
7 | image: 'misc/tempimg/carousel/carousel' + index + '.jpg',
8 | text: ['More','Extra','Lots of','Surplus'][slides.length % 4] + ' ' +
9 | ['Cats', 'Kittys', 'Felines', 'Cutes'][slides.length % 4]
10 | });
11 | };
12 | for (var i=0; i<4; i++) {
13 | $scope.addSlide();
14 | }
15 | }];
16 | angular.module('ui.wisoft').controller('CarouselDemoCtrl',CarouselDemoCtrl);
17 |
--------------------------------------------------------------------------------
/src/carousel/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"carousel",
3 | "discribe":"carousel(图片滑动)",
4 | "demos":[
5 | {"demoDiscribe":"carousel","html":"carousel/docs/demo.html","js":"carousel/docs/demo.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/carousel/template/carousel/carousel.html:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src/carousel/template/carousel/slide.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/collapse/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/src/collapse/docs/demo.js:
--------------------------------------------------------------------------------
1 | var CollapseDemoCtrl=['$scope',function($scope) {
2 | $scope.isCollapsed = false;
3 | }];
4 | angular.module('ui.wisoft').controller('CollapseDemoCtrl',CollapseDemoCtrl);
5 |
--------------------------------------------------------------------------------
/src/collapse/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"collapse",
3 | "discribe":"collapse(折叠)",
4 | "demos":[
5 | {"demoDiscribe":"collapse","html":"collapse/docs/demo.html","js":"collapse/docs/demo.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/collapse/simpleTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
20 |
21 |
27 |
28 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_basic.html:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
{{selected | json}}
9 |
10 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_basic.js:
--------------------------------------------------------------------------------
1 | var ComboBoxDemoBasicCtrl=['$scope',function($scope) {
2 |
3 | var vm = $scope;
4 | vm.mydata = [];
5 |
6 | var seed = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
7 | 'a','b','c','d','e','f','g','h','i','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z',
8 | '1','2','3','4','5','6','7','8','9','0',
9 | '一','二','三','四','五','六','七','八','九','十'
10 | );
11 |
12 | function randomWord() {
13 | var createPassword = '', m,n;
14 | for(m=0;m<10;m++) {
15 | n = Math.floor(Math.random()*seed.length);
16 | createPassword += seed[n];
17 | }
18 | return createPassword;
19 | }
20 |
21 | for(var i=0;i<100;i++) {
22 | var obj = {};
23 | obj.id = i;
24 | obj.name = randomWord();
25 | vm.mydata.push(obj)
26 | }
27 |
28 | vm.itemChangeHandler = function (data){
29 | vm.selected = data;
30 | }
31 |
32 | }];
33 | angular.module('ui.wisoft').controller('ComboBoxDemoBasicCtrl',ComboBoxDemoBasicCtrl);
34 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_enable.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | 可用:
9 | {{myEnable}}
10 |
11 |
{{selected | json}}
12 |
13 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_enable.js:
--------------------------------------------------------------------------------
1 | var ComboBoxDemoEnableCtrl=['$scope',function($scope) {
2 |
3 | var vm = $scope;
4 |
5 | vm.mydata = [];
6 |
7 | var seed = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
8 | 'a','b','c','d','e','f','g','h','i','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z',
9 | '1','2','3','4','5','6','7','8','9','0',
10 | '一','二','三','四','五','六','七','八','九','十'
11 | );
12 |
13 | function randomWord() {
14 | var createPassword = '', m,n;
15 | for(m=0;m<10;m++) {
16 | n = Math.floor(Math.random()*seed.length);
17 | createPassword += seed[n];
18 | }
19 | return createPassword;
20 | }
21 |
22 | for(var i=0;i<100;i++) {
23 | var obj = {};
24 | obj.id = i;
25 | obj.name = randomWord();
26 | vm.mydata.push(obj)
27 | }
28 |
29 | vm.myEnable = false;
30 |
31 | vm.itemChangeHandler = function (data){
32 | vm.selected = data;
33 | }
34 |
35 | }];
36 | angular.module('ui.wisoft').controller('ComboBoxDemoEnableCtrl',ComboBoxDemoEnableCtrl);
37 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_group.html:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
{{selected | json}}
11 |
12 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_group.js:
--------------------------------------------------------------------------------
1 | var ComboBoxDemoGroupCtrl=['$scope',function($scope) {
2 |
3 | var vm = $scope;
4 | vm.groupData = [
5 | { "value":"f20", "text":"Firefox 2.0 or higher", "group":"Firefox" },
6 | { "value":"f15", "text":"Firefox 1.5.x", "group":"Firefox" },
7 | { "value":"f10", "text":"Firefox 1.0.x", "group":"Firefox" },
8 | { "value":"ie7", "text":"IE 7.0 or higher", "group":"Microsoft Internet Explorer" },
9 | { "value":"ie6", "text":"IE 6.x", "group":"Microsoft Internet Explorer" },
10 | { "value":"ie5", "text":"IE 5.x", "group":"Microsoft Internet Explorer" },
11 | { "value":"ie4", "text":"IE 4.x", "group":"Microsoft Internet Explorer" },
12 | { "value":"op9", "text":"Opera 9.0 or higher", "group":"Opera" },
13 | { "value":"op8", "text":"Opera 8.x", "group":"Opera" },
14 | { "value":"op7", "text":"Opera 7.x", "group":"Opera" },
15 | { "value":"Safari", "text":"Safari", "group":"Safari" },
16 | { "value":"Other", "text":"Other", "group":"Other" }
17 | ];
18 |
19 | vm.itemChangeHandler = function (data){
20 | vm.selected = data;
21 | }
22 | }];
23 | angular.module('ui.wisoft').controller('ComboBoxDemoGroupCtrl',ComboBoxDemoGroupCtrl);
24 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_multi.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
{{selected | json}}
10 |
11 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_multi.js:
--------------------------------------------------------------------------------
1 | var ComboBoxDemoMultiCtrl=['$scope',function($scope) {
2 |
3 | var vm = $scope;
4 |
5 | vm.mydata = [];
6 |
7 | var seed = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
8 | 'a','b','c','d','e','f','g','h','i','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z',
9 | '1','2','3','4','5','6','7','8','9','0',
10 | '一','二','三','四','五','六','七','八','九','十'
11 | );
12 |
13 | function randomWord() {
14 | var createPassword = '', m,n;
15 | for(m=0;m<10;m++) {
16 | n = Math.floor(Math.random()*seed.length);
17 | createPassword += seed[n];
18 | }
19 | return createPassword;
20 | }
21 |
22 | for(var i=0;i<100;i++) {
23 | var obj = {};
24 | obj.id = i;
25 | obj.name = randomWord();
26 | vm.mydata.push(obj)
27 | }
28 |
29 | }];
30 | angular.module('ui.wisoft').controller('ComboBoxDemoMultiCtrl',ComboBoxDemoMultiCtrl);
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_noEdit.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
{{selected | json}}
10 |
11 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_noEdit.js:
--------------------------------------------------------------------------------
1 | var ComboBoxDemoNoEditCtrl=['$scope',function($scope) {
2 |
3 | var vm = $scope;
4 |
5 | vm.mydata = [];
6 |
7 | var seed = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
8 | 'a','b','c','d','e','f','g','h','i','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z',
9 | '1','2','3','4','5','6','7','8','9','0',
10 | '一','二','三','四','五','六','七','八','九','十'
11 | );
12 |
13 | function randomWord() {
14 | var createPassword = '', m,n;
15 | for(m=0;m<10;m++) {
16 | n = Math.floor(Math.random()*seed.length);
17 | createPassword += seed[n];
18 | }
19 | return createPassword;
20 | }
21 |
22 | for(var i=0;i<100;i++) {
23 | var obj = {};
24 | obj.id = i;
25 | obj.name = randomWord();
26 | vm.mydata.push(obj)
27 | }
28 |
29 | vm.itemChangeHandler = function (data){
30 | vm.selected = data;
31 | }
32 |
33 | }];
34 | angular.module('ui.wisoft').controller('ComboBoxDemoNoEditCtrl',ComboBoxDemoNoEditCtrl);
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_rowCount.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
{{selected | json}}
10 |
11 |
--------------------------------------------------------------------------------
/src/combobox/docs/comboBox_rowCount.js:
--------------------------------------------------------------------------------
1 | var ComboBoxDemoRowCountCtrl=['$scope',function($scope) {
2 |
3 | var vm = $scope;
4 |
5 | vm.mydata = [];
6 |
7 | var seed = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z',
8 | 'a','b','c','d','e','f','g','h','i','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z',
9 | '1','2','3','4','5','6','7','8','9','0',
10 | '一','二','三','四','五','六','七','八','九','十'
11 | );
12 |
13 | function randomWord() {
14 | var createPassword = '', m,n;
15 | for(m=0;m<10;m++) {
16 | n = Math.floor(Math.random()*seed.length);
17 | createPassword += seed[n];
18 | }
19 | return createPassword;
20 | }
21 |
22 | for(var i=0;i<100;i++) {
23 | var obj = {};
24 | obj.id = i;
25 | obj.name = randomWord();
26 | vm.mydata.push(obj)
27 | }
28 |
29 | vm.itemChangeHandler = function (data){
30 | vm.selected = data;
31 | }
32 |
33 | }];
34 | angular.module('ui.wisoft').controller('ComboBoxDemoRowCountCtrl',ComboBoxDemoRowCountCtrl);
--------------------------------------------------------------------------------
/src/combobox/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"comboBox",
3 | "discribe":"comboBox(下拉框)",
4 | "demos":[
5 | {"demoDiscribe":"基本","html":"combobox/docs/comboBox_basic.html","js":"combobox/docs/comboBox_basic.js"}
6 | ,{"demoDiscribe":"不可编辑","html":"combobox/docs/comboBox_noEdit.html","js":"combobox/docs/comboBox_noEdit.js"}
7 | ,{"demoDiscribe":"显示行数","html":"combobox/docs/comboBox_rowCount.html","js":"combobox/docs/comboBox_rowCount.js"}
8 | ,{"demoDiscribe":"分组","html":"combobox/docs/comboBox_group.html","js":"combobox/docs/comboBox_group.js"}
9 | ,{"demoDiscribe":"不可用","html":"combobox/docs/comboBox_enable.html","js":"combobox/docs/comboBox_enable.js"}
10 | ,{"demoDiscribe":"多选","html":"combobox/docs/comboBox_multi.html","js":"combobox/docs/comboBox_multi.js"}
11 | ]
12 | }
--------------------------------------------------------------------------------
/src/combobox/template/combobox/comboboxTemplate.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_basic.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_basic.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoBasicCtrl=['$scope',function ($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad(((i>30?i-30:i)+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | $scope.dblClick = function (data){
24 | alert(data.username+'----'+data.address);
25 | }
26 | }]
27 | angular.module('ui.wisoft').controller('DataGridDemoBasicCtrl',DataGridDemoBasicCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_columnGroup.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_columnGroup.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoColumnGroupCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | }];
24 | angular.module('ui.wisoft').controller('DataGridDemoColumnGroupCtrl',DataGridDemoColumnGroupCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_excel.html:
--------------------------------------------------------------------------------
1 |
2 |
目前仅支持导出当前页数据
3 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_excel.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoExcelCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | }];
24 | angular.module('ui.wisoft').controller('DataGridDemoExcelCtrl',DataGridDemoExcelCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_filter.html:
--------------------------------------------------------------------------------
1 |
2 | 未完待续......
3 |
4 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_filter.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoFilterCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.sex=i%2;
16 | obj.date='2014-07-'+pad((i+1),2);
17 | obj.num = (i+1)*100;
18 |
19 | dgData.push(obj);
20 | }
21 |
22 | $scope.dgData = dgData;
23 |
24 | $scope.sexLabelFun = function(data){
25 | if(data){
26 | if(data.sex===1){
27 | return '男';
28 | }else{
29 | return '女';
30 | }
31 | }else{
32 | return '未知';
33 | }
34 | }
35 | }];
36 | angular.module('ui.wisoft').controller('DataGridDemoFilterCtrl',DataGridDemoFilterCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_headRenderer.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoHeadRendererCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad(((i>30?i-30:i)+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | $scope.$on('itemClickHandler', function (d,data) {
24 | alert(data.username);
25 | })
26 | }];
27 | angular.module('ui.wisoft').controller('DataGridDemoHeadRendererCtrl',DataGridDemoHeadRendererCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_itemRenderer.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_itemRenderer.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoItemRendererCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | $scope.$on('itemClickHandler', function (d,data) {
24 | alert(data.username);
25 | })
26 | }];
27 | angular.module('ui.wisoft').controller('DataGridDemoItemRendererCtrl',DataGridDemoItemRendererCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_labfunction.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_labfunction.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoLabFunCtrl=['$scope',function ($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | $scope.usenameLabFun = function (data){
24 | if(data){
25 | if(data.username=='username1'){
26 | return ''+data.username+'';
27 | }else{
28 | return ''+data.username+'';
29 | }
30 | }
31 | else{
32 | //清空数据(必须要写为空的判断处理,否则不能清空数据)
33 | return " ";//空字符串
34 | }
35 | }
36 | }]
37 | angular.module('ui.wisoft').controller('DataGridDemoLabFunCtrl',DataGridDemoLabFunCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_lockColumn.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_lockColumn.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoLockColumnCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 | }];
23 | angular.module('ui.wisoft').controller('DataGridDemoLockColumnCtrl',DataGridDemoLockColumnCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_multiSelect.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_multiSelect.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoMultiSelectCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 | }];
23 | angular.module('ui.wisoft').controller('DataGridDemoMultiSelectCtrl',DataGridDemoMultiSelectCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_nopage.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_nopage.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoNoPageCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 | }];
23 | angular.module('ui.wisoft').controller('DataGridDemoNoPageCtrl',DataGridDemoNoPageCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_rowcolor.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_rowcolor.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoRowcolorCtrl=['$scope',function ($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | //返回颜色值
24 | $scope.myRowColorFunction=function(data){
25 | if(data.username=='username2'){
26 | return "#6BA95B";
27 | }
28 | };
29 | }]
30 | angular.module('ui.wisoft').controller('DataGridDemoRowcolorCtrl',DataGridDemoRowcolorCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_server.html:
--------------------------------------------------------------------------------
1 |
2 | 未完待续......
3 |
4 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_server.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoServerCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 | }];
23 | angular.module('ui.wisoft').controller('DataGridDemoServerCtrl',DataGridDemoServerCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_sort.html:
--------------------------------------------------------------------------------
1 |
2 |
点击表头排序
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_sort.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoSortCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 | }];
23 | angular.module('ui.wisoft').controller('DataGridDemoSortCtrl',DataGridDemoSortCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_tool.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_tool.js:
--------------------------------------------------------------------------------
1 | var DataGridDemoToolCtrl=['$scope',function($scope) {
2 |
3 | $scope.dg={};
4 |
5 | function pad(num, n) {
6 | return (Array(n).join(0) + num).slice(-n);
7 | }
8 |
9 | var dgData=[];
10 |
11 | for(var i=0;i<50;i++){
12 | var obj={};
13 | obj.username='username'+i;
14 | obj.address='address'+i;
15 | obj.date='2014-07-'+pad((i+1),2);
16 | obj.num = (i+1)*100;
17 |
18 | dgData.push(obj);
19 | }
20 |
21 | $scope.dgData = dgData;
22 |
23 | $scope.$on('custom', function (event) {
24 | alert("自定义操作");
25 | })
26 | }];
27 | angular.module('ui.wisoft').controller('DataGridDemoToolCtrl',DataGridDemoToolCtrl);
--------------------------------------------------------------------------------
/src/datagrid/docs/datagrid_tree.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/datagrid/test/datagrid.spec.js:
--------------------------------------------------------------------------------
1 |
2 | describe('datagrid', function () {
3 | var scope, $compile;
4 | var element;
5 |
6 | var mydgService;
7 |
8 | var dataprovider=[
9 | {ischecked:true}, {ischecked:true}, {ischecked:false}
10 | ];
11 |
12 | beforeEach(module('ui.wisoft.datagrid'));
13 | //beforeEach(module('template/alert/alert.html'));
14 |
15 | beforeEach( inject( function(_dgService_){
16 | mydgService = _dgService_;
17 | }));
18 |
19 | it('checkTotal of myService', function() {
20 | expect(mydgService.checkTotal()).toBe(false);
21 | });
22 |
23 |
24 | });
25 |
--------------------------------------------------------------------------------
/src/dialog/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"dialog",
3 | "discribe":"dialog弹出框",
4 | "demos":[
5 | {"demoDiscribe":"弹出dialog","html":"dialog/docs/demo1.html","js":"dialog/docs/demo1.js"},
6 | {"demoDiscribe":"关闭dialog","html":"dialog/docs/demo5.html","js":"dialog/docs/demo5.js"},
7 | {"demoDiscribe":"监听窗口关闭","html":"dialog/docs/demo2.html","js":"dialog/docs/demo2.js"},
8 | {"demoDiscribe":"打开和关闭窗口时的数据传递","html":"dialog/docs/demo3.html","js":"dialog/docs/demo3.js"},
9 | {"demoDiscribe":"其它","html":"dialog/docs/demo4.html","js":"dialog/docs/demo4.js"}
10 | ]
11 | }
--------------------------------------------------------------------------------
/src/dialog/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 |
--------------------------------------------------------------------------------
/src/dialog/docs/demo1.js:
--------------------------------------------------------------------------------
1 | var dialogCtrl1=['$scope','wiDialog',function($scope,wiDialog) {
2 |
3 | $scope.dialogData={"username":"中科惠软","address":"长江路科技园五区三楼"};
4 |
5 | //使用字符串作为模板
6 | $scope.openByStringTpl = function () {
7 | wiDialog.open({
8 | plain:true,
9 | template:'使用字符串模板
',
10 | title:'字符串模板',
11 | width:280
12 | });
13 | };
14 |
15 | var scriptDialog;
16 | //使用script作为模板
17 | $scope.openByScriptTpl = function () {
18 | scriptDialog=wiDialog.open({
19 | template: 'firstDialogId',
20 | title:'script作为模板',
21 | scope: $scope,
22 | width:380
23 | });
24 | };
25 | $scope.closeScriptDialog=function(){
26 | scriptDialog.close();
27 | }
28 |
29 |
30 | //使用url作为模板,该url必须是一个html片段
31 | $scope.openDefaultByUrl = function () {
32 | wiDialog.open({
33 | template: 'demo/dialog/docs/template.html',
34 | closeByEscape:false,
35 | title:'url作为模板',
36 | scope: $scope,
37 | width:680//height是自适应的,不需要指定
38 | });
39 | };
40 | }];
41 | angular.module('ui.wisoft').controller('dialogCtrl1',dialogCtrl1);
--------------------------------------------------------------------------------
/src/dialog/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/dialog/docs/demo3.js:
--------------------------------------------------------------------------------
1 | var dialogCtrl3=['$scope','wiDialog',function($scope,wiDialog) {
2 |
3 | $scope.dialogData={"username":"中科惠软","address":"长江路科技园五区三楼"};
4 |
5 | $scope.openByScriptTpl = function () {
6 | wiDialog.open({
7 | template: 'firstDialogId',
8 | title:'script作为模板',
9 | scope: $scope,
10 | width:380,
11 | height:300
12 | });
13 | };
14 | $scope.sayHello=function(){
15 | console.log("弹出的dialog窗口调用到了scope中的sayHello()方法........");
16 | }
17 |
18 | $scope.openConfirm = function () {
19 | wiDialog.openConfirm({
20 | template: 'modalDialogId',
21 | width:600,
22 | closeByEscape:true,
23 | title:'confirm窗口'
24 | }).then(function (value) {
25 | console.log('Modal promise resolved. Value: ', '姓名:'+value.username+'---住址:'+value.address);
26 | }, function (reason) {
27 | console.log('Modal promise rejected. Reason: ', reason);
28 | });
29 | };
30 | }];
31 | angular.module('ui.wisoft').controller('dialogCtrl3',dialogCtrl3);
--------------------------------------------------------------------------------
/src/dialog/docs/demo4.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/src/dialog/docs/demo4.js:
--------------------------------------------------------------------------------
1 | var dialogCtrl4=['$scope','wiDialog',function($scope,wiDialog) {
2 |
3 | $scope.openDialogWithNoHead=function(){
4 | wiDialog.open({
5 | plain:true,
6 | template:'无header的弹出框
',
7 | width:200,
8 | height:200,
9 | withoutHead:true
10 | });
11 | }
12 | $scope.openNoModalDialog=function(){
13 | wiDialog.open({
14 | plain:true,
15 | template:'非模态的弹出框
',
16 | width:300,
17 | height:200,
18 | overlay:false,
19 | title:'非模态的弹出框'
20 | });
21 | }
22 | $scope.openTimed = function () {
23 | var dialog = wiDialog.open({
24 | template: ' 1秒后自己关闭!
',
25 | plain: true,
26 | title:'提示',
27 | width:200,
28 | closeByDocument: false,
29 | closeByEscape: false
30 | });
31 | setTimeout(function () {
32 | dialog.close();
33 | }, 1000);
34 | };
35 | }];
36 | angular.module('ui.wisoft').controller('dialogCtrl4',dialogCtrl4);
--------------------------------------------------------------------------------
/src/dialog/docs/demo5.html:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/src/dialog/docs/demo5.js:
--------------------------------------------------------------------------------
1 | var dialogCtrl5=['$scope','wiDialog',function($scope,wiDialog) {
2 |
3 | var scriptDialog;
4 | //使用script作为模板
5 | $scope.openByScriptTpl = function () {
6 | scriptDialog=wiDialog.open({
7 | template: 'dialog4close',
8 | title:'script作为模板',
9 | scope: $scope,
10 | width:480
11 | });
12 | };
13 | $scope.openConfirmDialog = function () {
14 | wiDialog.openConfirm({
15 | template: 'dialog4close',
16 | title:'script作为模板',
17 | scope: $scope,
18 | width:480
19 | });
20 | };
21 | $scope.closeScriptDialog=function(){
22 | //使用openConfirm打开窗口时无效
23 | scriptDialog.close();
24 | }
25 | $scope.closeAll=function(){
26 | wiDialog.closeAll();
27 | }
28 | $scope.closeOne=function(){
29 | wiDialog.closeOne(scriptDialog.id);
30 | }
31 | }];
32 | angular.module('ui.wisoft').controller('dialogCtrl5',dialogCtrl5);
--------------------------------------------------------------------------------
/src/dialog/docs/iframe.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 在iframe窗口内dialog
11 |
12 |
28 |
29 |
--------------------------------------------------------------------------------
/src/dialog/docs/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
独立的html片段作为模板
4 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
5 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
6 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
7 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
8 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
9 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
10 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
11 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
12 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
13 |
username:{{dialogData.username}}------------address:{{dialogData.address}}
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/dividedbox/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
横向分屏标签:wi-hdividedbox
3 |
4 |
5 | 1-1
6 | 1-2
7 | 1-3
8 | 1-4
9 | 1-5
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/dividedbox/docs/demo.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/dividedbox/docs/demo.js
--------------------------------------------------------------------------------
/src/dividedbox/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"dividedbox",
3 | "discribe":"dividedbox(分屏)",
4 | "demos":[
5 | {"demoDiscribe":"横向","html":"dividedbox/docs/demo.html","js":"dividedbox/docs/demo.js"},
6 | {"demoDiscribe":"纵向","html":"dividedbox/docs/demo0.html","js":"dividedbox/docs/demo.js"},
7 | {"demoDiscribe":"标题栏","html":"dividedbox/docs/demo_head.html","js":"dividedbox/docs/demo.js"},
8 | {"demoDiscribe":"折叠","html":"dividedbox/docs/demo1.html","js":"dividedbox/docs/demo.js"},
9 | {"demoDiscribe":"禁用 resize","html":"dividedbox/docs/demo2.html","js":"dividedbox/docs/demo.js"}
10 | ]
11 | }
--------------------------------------------------------------------------------
/src/dividedbox/docs/demo0.html:
--------------------------------------------------------------------------------
1 |
2 |
纵向分屏标签:wi-vdividedbox
3 |
4 |
5 | 1-1
6 | 1-2
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/dividedbox/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
2 |
【collapseto】:折叠方向(横向——"left"/"right",纵向——"up"/"down")
3 |
【collapsed】:初始折叠状态,必须定义 collapseto 才会生效,true 时折叠,默认为 false。
4 |
5 |
6 | 1-1
7 | 1-2
8 | 1-3
9 | 1-4
10 | 1-5
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/dividedbox/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
2 |
【resizable="false"】:边界禁止拖动
3 |
4 |
5 | 1-1
6 | 1-2
7 | 1-3
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/dividedbox/docs/demo_head.html:
--------------------------------------------------------------------------------
1 |
2 |
wi-title:标题栏文字
3 |
wi-icon:标题栏图标 url
4 |
5 |
6 | 1-1
7 | 1-2
8 | 1-3
9 | 1-4
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/dividedbox/template/dividedbox/wi-dividedbox-group.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | {{dividedboxG.title}}
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/dividedbox/template/dividedbox/wi-dividedbox.html:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/src/else/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"else",
3 | "discribe":"else(其他)",
4 | "demos":[
5 | {"demoDiscribe":"栅格布局","html":"else/docs/demoGrid.html"},
6 | {"demoDiscribe":"基础表单","html":"else/docs/demoFormBase.html"},
7 | {"demoDiscribe":"行内表单","html":"else/docs/demoFormInline.html"},
8 | {"demoDiscribe":"栅格表单","html":"else/docs/demoFormGrid.html"}
9 | ]
10 | }
--------------------------------------------------------------------------------
/src/else/docs/demoFormBase.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/else/docs/demoFormGrid.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/else/docs/demoFormInline.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/else/docs/demoGrid.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
1
7 |
2
8 |
3
9 |
6
10 |
11 |
12 |
13 |
1
14 |
2
15 |
3
16 |
2 offset-4
17 |
18 |
19 |
20 |
1
21 |
2
22 |
3
23 |
24 |
--------------------------------------------------------------------------------
/src/fileupload/docs/demo.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/fileupload/docs/demo.js
--------------------------------------------------------------------------------
/src/fileupload/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"fileupload",
3 | "discribe":"fileupload(文件上传)",
4 | "demos":[
5 | {"demoDiscribe":"基本用法","html":"fileupload/docs/demo_basic.html","js":"fileupload/docs/demo.js"},
6 | {"demoDiscribe":"多选","html":"fileupload/docs/demo_multisel.html","js":"fileupload/docs/demo.js"},
7 | {"demoDiscribe":"过滤(类型、文件大小)","html":"fileupload/docs/demo_filter.html","js":"fileupload/docs/demo.js"},
8 | {"demoDiscribe":"模态显示状态","html":"fileupload/docs/demo_modal.html","js":"fileupload/docs/demo.js"},
9 | {"demoDiscribe":"返回数据","html":"fileupload/docs/demo_response.html","js":"fileupload/docs/demo_response.js"},
10 | {"demoDiscribe":"取消上传","html":"fileupload/docs/demo_remove.html","js":"fileupload/docs/demo_remove.js"}
11 | ]
12 | }
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_basic.html:
--------------------------------------------------------------------------------
1 |
2 |
点击按钮选择要上传的文件:
3 |
4 |
5 |
6 | 进度显示区域:
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_filter.html:
--------------------------------------------------------------------------------
1 |
2 |
点击按钮选择要上传的文件(不超过 4M,文件后缀名为 .txt):
3 |
4 |
5 |
6 | 进度显示区域:
7 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_modal.html:
--------------------------------------------------------------------------------
1 |
2 |
点击按钮选择要上传的文件:
3 |
4 |
5 |
11 |
12 |
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_multisel.html:
--------------------------------------------------------------------------------
1 |
2 |
点击按钮选择要上传的文件:
3 |
4 |
5 |
6 | 进度显示区域:
7 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_remove.html:
--------------------------------------------------------------------------------
1 |
2 |
开始上传后,点击“删除”,触发自定义事件(取消某个文件 f 传输后触发)。
3 | 本例中,将在控制台输出取消传输的文件信息。
4 |
5 |
6 |
7 | 进度显示区域:
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_remove.js:
--------------------------------------------------------------------------------
1 | var FileUploadDemoCtrl1 = ['$scope', function($scope) {
2 | $scope.removef = function(f){
3 | console.log(f);
4 | };
5 | }];
6 | angular.module('ui.wisoft').controller('FileUploadDemoCtrl1',FileUploadDemoCtrl1);
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_response.html:
--------------------------------------------------------------------------------
1 |
2 |
上传成功后,点击文件名,显示返回数据。(由于无后台服务支持,demo 中仅返回响应 url 的内容,并不对上传的文件做任何处理)
3 |
4 |
5 |
6 | 进度显示区域:
7 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/fileupload/docs/demo_response.js:
--------------------------------------------------------------------------------
1 | var FileUploadDemoCtrl = ['$scope', function($scope) {
2 | $scope.responseText = undefined;
3 | $scope.$watch('responseText', function(newV, oldV){
4 | if(newV && newV != oldV){
5 | alert('返回的数据:' + newV);
6 | $scope.responseText = undefined;
7 | }
8 | });
9 | }];
10 | angular.module('ui.wisoft').controller('FileUploadDemoCtrl',FileUploadDemoCtrl);
--------------------------------------------------------------------------------
/src/fileupload/temp/Moxie.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/fileupload/temp/Moxie.swf
--------------------------------------------------------------------------------
/src/fileupload/temp/Moxie.xap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/fileupload/temp/Moxie.xap
--------------------------------------------------------------------------------
/src/fileupload/temp/upload.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/fileupload/template/fileupload/wi-fileupload.html:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | {{file.name}}
6 | ({{file.size}})
7 |
8 | 完成
9 | 等待上传
10 |
16 |
17 | 上传失败
18 | 删除
19 |
20 |
--------------------------------------------------------------------------------
/src/imageview/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"imageview",
3 | "discribe":"imageview(图片查看)",
4 | "demos":[
5 | {"demoDiscribe":"URL数据源","html":"imageview/docs/demo1.html","js":"imageview/docs/demo1.js"},
6 | {"demoDiscribe":"ImageData数据源","html":"imageview/docs/demo2.html","js":"imageview/docs/demo2.js"}
7 | ]
8 | }
--------------------------------------------------------------------------------
/src/imageview/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/imageview/docs/demo1.js:
--------------------------------------------------------------------------------
1 | var imageviewMainCtrl1=['$scope',function($scope) {
2 | //第一张图片不存在
3 | $scope.images = ['misc/imageview/B11.jpg','misc/imageview/B2.jpg','misc/imageview/B3.jpg'];
4 |
5 | $scope.openview = function(index) {
6 | $scope.openindex = index;
7 | }
8 | }];
9 | angular.module('ui.wisoft').controller('imageviewMainCtrl1',imageviewMainCtrl1);
--------------------------------------------------------------------------------
/src/imageview/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/imageview/docs/demo2.js:
--------------------------------------------------------------------------------
1 | var imageviewMainCtrl2=['$scope',function($scope) {
2 | $scope.open = function() {
3 | $scope.imagedata = getImageData();
4 | }
5 |
6 | //上一张回调
7 | $scope.previous = function() {
8 | v-=20;
9 | $scope.imagedata = getImageData();
10 | }
11 |
12 | //下一张回调
13 | $scope.next = function() {
14 | v+=20;
15 | $scope.imagedata = getImageData();
16 | }
17 |
18 | //生成测试用ImageData
19 | var c = document.createElement('canvas');
20 | var ctx=c.getContext("2d");
21 | var v = 1;
22 | function getImageData() {
23 | if (v > 255) {
24 | v = 1;
25 | } else if (v < 0) {
26 | v = 255;
27 | }
28 |
29 | var imgData=ctx.createImageData(400,300);
30 | for (var i=0;i
2 | 【wi-right-menu】 右键菜单标识。
3 | 【adaptable】 true 时允许自适应,false 时不论空间是否足够都以用户定义的方向弹出,默认为 true。
4 | 【position】 默认为 "bottom-left"。
5 | 【filterable】 第一级菜单是否支持关键字过滤,默认为 false。
6 | 【dataprovider】 json 格式的数据源。
7 | 【selectitem】 选中的菜单项绑定,详见选中事件。
8 |
9 |
10 | 固定方向弹出菜单:
11 |
12 | -
13 |
14 |
15 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/menu/docs/demo.js:
--------------------------------------------------------------------------------
1 | var MenuDemoCtrl = ['$scope', function($scope) {
2 | var options = $scope.options = {
3 | pos0Arr: ['top', 'bottom', 'left', 'right'],
4 | pos1ArrX: ['left', 'right'],
5 | pos1ArrY: ['top', 'bottom'],
6 | pos0: 'bottom',
7 | pos1: 'left',
8 | isopen: false
9 | };
10 | options.pos1Arr = options.pos1ArrX;
11 | $scope.$watch('options.pos0',function(){
12 | if(options.pos0 == 'top' || options.pos0 == 'bottom'){
13 | options.pos1Arr = options.pos1ArrX;
14 | options.pos1 = 'left';
15 | }else{
16 | options.pos1Arr = options.pos1ArrY;
17 | options.pos1 = 'top';
18 | }
19 | });
20 | var ctrl = this;
21 | /**
22 | * id: string 菜单项 id
23 | * label: string 菜单项显示内容
24 | * icon: string 菜单项自定义图标
25 | * filterable: boolean 子菜单是否支持搜索
26 | * children: [] 子菜单数据源
27 | * enabled: boolean 菜单项是否可用
28 | * event: string 可直接执行的表达式(复杂事件根据点击后返回的菜单项自定义)
29 | */
30 | ctrl.data = [
31 | {id: '0', label: 'node0'},
32 | {id: '1', label: 'node1'},
33 | {id: '2', label: 'node2'},
34 | {id: '3', label: 'node3'},
35 | ];
36 | }];
37 | angular.module('ui.wisoft').controller('MenuDemoCtrl',MenuDemoCtrl);
--------------------------------------------------------------------------------
/src/menu/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"menu",
3 | "discribe":"menu(菜单)",
4 | "demos":[
5 | {"demoDiscribe":"固定方向菜单","html":"menu/docs/demo.html","js":"menu/docs/demo.js"},
6 | {"demoDiscribe":"自适应方向菜单","html":"menu/docs/demo0.html","js":"menu/docs/demo0.js"},
7 | {"demoDiscribe":"右键菜单","html":"menu/docs/demo1.html","js":"menu/docs/demo1.js"},
8 | {"demoDiscribe":"二级菜单、关键字过滤","html":"menu/docs/demo2.html","js":"menu/docs/demo2.js"},
9 | {"demoDiscribe":"图标、禁用、事件","html":"menu/docs/demo3.html","js":"menu/docs/demo3.js"}
10 | ]
11 | }
--------------------------------------------------------------------------------
/src/menu/docs/demo0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 设置 adaptable = "true"
4 | 设置优先弹出方向为 position = "bottom-left",当空间不足时将重新调整弹出方向,或进行分栏处理
5 |
6 |
7 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/menu/docs/demo0.js:
--------------------------------------------------------------------------------
1 | var MenuDemoCtrl0 = [function() {
2 | var ctrl = this;
3 | ctrl.data = [
4 | {id: '0', label: 'node0'},
5 | {id: '1', label: 'node1'},
6 | {id: '2', label: 'node2'},
7 | {id: '3', label: 'node3'},
8 | {id: '4', label: 'node4'},
9 | {id: '5', label: 'node5'},
10 | {id: '6', label: 'node6'},
11 | {id: '7', label: 'node7'},
12 | {id: '8', label: 'node8'},
13 | {id: '9', label: 'node9'},
14 | {id: '10', label: 'menu0'},
15 | {id: '11', label: 'menu1'},
16 | {id: '12', label: 'menu2'},
17 | {id: '13', label: 'menu3'},
18 | {id: '14', label: 'menu4'},
19 | {id: '15', label: 'menu5'},
20 | {id: '16', label: 'menu6'},
21 | {id: '17', label: 'menu7'},
22 | {id: '18', label: 'menu8'},
23 | {id: '19', label: 'menu9'}
24 | ];
25 | }];
26 | angular.module('ui.wisoft').controller('MenuDemoCtrl0',MenuDemoCtrl0);
--------------------------------------------------------------------------------
/src/menu/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/menu/docs/demo1.js:
--------------------------------------------------------------------------------
1 | var MenuDemoCtrl1=[function() {
2 | var ctrl = this;
3 | ctrl.data = [
4 | {id: '0', label: 'node0'},
5 | {id: '1', label: 'node1'},
6 | {id: '2', label: 'node2'}
7 | ];
8 | }];
9 | angular.module('ui.wisoft').controller('MenuDemoCtrl1',MenuDemoCtrl1);
--------------------------------------------------------------------------------
/src/menu/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
2 |
【filterable】 第一级菜单是否支持关键字过滤,默认为 false。
3 |
【数据源】 子菜单支持关键字过滤。filterable: true
4 |
5 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/menu/docs/demo2.js:
--------------------------------------------------------------------------------
1 | var MenuDemoCtrl2 = [function() {
2 | var ctrl = this;
3 | ctrl.data = [
4 | {id: '0', label: 'node0'},
5 | {id: '1', label: 'node1'},
6 | {id: '2', label: 'node2', filterable:true, children: [
7 | {id: 'a', label: 'nodea'},
8 | {id: 'b', label: 'nodeb'},
9 | {id: 'c', label: 'nodec'},
10 | {id: 'd', label: 'menua'},
11 | {id: 'e', label: 'menub'},
12 | {id: 'f', label: 'menuc'}
13 | ]},
14 | {id: '3', label: 'node3'},
15 | {id: '4', label: 'node4'},
16 | {id: '5', label: 'node5'}
17 | ];
18 | }];
19 | angular.module('ui.wisoft').controller('MenuDemoCtrl2',MenuDemoCtrl2);
--------------------------------------------------------------------------------
/src/menu/docs/demo3.html:
--------------------------------------------------------------------------------
1 |
2 |
数据源中通过【icon】指定菜单项图标,路径相对于菜单显示页面。
3 |
数据源中通过【enabled】设置为 false 禁用菜单项。
4 |
数据源中通过【event】指定简单的可执行 js 表达式,点击该项时执行。
5 |
复杂事件需绑定【selectitem】获取点击的菜单项(点击第二、三项时,请在控制台中查看结果)。
6 |
7 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/menu/docs/demo3.js:
--------------------------------------------------------------------------------
1 | var MenuDemoCtrl3 = ['$scope', function($scope) {
2 | $scope.vm = {
3 | selectFn: function(f){
4 | console.log(f);
5 | }
6 | };
7 | var ctrl = this;
8 | ctrl.data = [
9 | {id: '0', label: '简单 js 表达式', icon: 'misc/tempimg/menu/save.gif', event: 'alert(\'js表达式\')'},
10 | {id: '1', label: 'node1'},
11 | {id: '2', label: 'node2'},
12 | {id: '3', label: '禁用项', enabled: false}
13 | ];
14 | }];
15 | angular.module('ui.wisoft').controller('MenuDemoCtrl3',MenuDemoCtrl3);
--------------------------------------------------------------------------------
/src/messagetip/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"messagetip",
3 | "discribe":"messagetip(右下角提示框)",
4 | "demos":[
5 | {"demoDiscribe":"基础功能","html":"messagetip/docs/demo1.html","js":"messagetip/docs/demo1.js"},
6 | {"demoDiscribe":"方法调用","html":"messagetip/docs/demo2.html","js":"messagetip/docs/demo2.js"}
7 | ]
8 | }
--------------------------------------------------------------------------------
/src/messagetip/docs/demo1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/messagetip/docs/demo1.js:
--------------------------------------------------------------------------------
1 | var messagetipMainCtrl1 = ['$scope', 'wiMessageTip', function($scope, wiMessageTip) {
2 | var t = '我的新消息
我的新消息
';
3 |
4 | $scope.openbottom = function() {
5 | t = '我的新消息
'+t;
6 | wiMessageTip.open({
7 | width: 250,
8 | title: '从下往上弹出',
9 | position: 'bottom',
10 | content: t
11 | });
12 | };
13 |
14 | $scope.openright = function() {
15 | t = '我的新消息
'+t;
16 | wiMessageTip.open({
17 | width: 250,
18 | title: '从右往左弹出',
19 | position: 'right',
20 | content: t
21 | });
22 | };
23 |
24 | $scope.openclose = function() {
25 | t = '我的新消息
'+t;
26 | wiMessageTip.open({
27 | width: 250,
28 | title: '5秒后自动关闭',
29 | position: 'bottom',
30 | delay: 5,
31 | content: t
32 | });
33 | };
34 |
35 | $scope.openshake = function() {
36 | t = '我的新消息
'+t;
37 | wiMessageTip.open({
38 | width: 250,
39 | title: '弹出后抖动',
40 | position: 'right',
41 | isshake: true,
42 | content: t
43 | });
44 | };
45 | }];
46 | angular.module('ui.wisoft').controller('messagetipMainCtrl1',messagetipMainCtrl1);
--------------------------------------------------------------------------------
/src/messagetip/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/messagetip/docs/demo2.js:
--------------------------------------------------------------------------------
1 | var messagetipMainCtrl2 = ['$scope', 'wiMessageTip',function($scope, wiMessageTip) {
2 | var t = '我的新消息
';
3 | var tipid;
4 | $scope.open = function() {
5 | tipid = wiMessageTip.open({
6 | width: 250,
7 | title: '新消息',
8 | position: 'bottom',
9 | content: t,
10 | click: $scope.clickHandler
11 | });
12 | };
13 |
14 | $scope.close = function() {
15 | wiMessageTip.closeOne(tipid);
16 | };
17 |
18 | $scope.clickHandler = function(e) {
19 | var elm = angular.element(e.target);
20 | if (elm.attr('name') == 'democlick') {
21 | alert('弹框中按钮点击');
22 | }
23 | }
24 | }];
25 | angular.module('ui.wisoft').controller('messagetipMainCtrl2',messagetipMainCtrl2);
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_basic.js:
--------------------------------------------------------------------------------
1 | var DatepickerDemoBasicCtrl = ['$scope',function($scope) {
2 |
3 | var vm = $scope;
4 |
5 | function pad(num, n) {
6 | return (new Array(n >(''+num).length ? (n - (''+num).length+1) : 0).join('0') + num);
7 | }
8 |
9 | vm.date = '20'+pad(parseInt(Math.random()*14+1),2)+'-'+pad(parseInt(Math.random()*10+1),2)+'-'+pad(parseInt(Math.random()*28+1),2);
10 |
11 | vm.onPickedHandler = function (data) {
12 | alert(data)
13 | };
14 |
15 | vm.onClearedHandler = function (data) {
16 | alert("日期被清空")
17 | }
18 |
19 | }];
20 | angular.module('ui.wisoft').controller('DatepickerDemoBasicCtrl',DatepickerDemoBasicCtrl);
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_disable.html:
--------------------------------------------------------------------------------
1 |
2 | 禁用周日至周六所对应的日期,(0至6 分别代表 周日至周六)
3 |
4 | 选择的日期是:{{date1}}
5 |
6 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_editable.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_event.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_firstDay.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_format.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date1}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_hideButtons.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_highlight.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_qsEnable.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_quickSel.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_range.html:
--------------------------------------------------------------------------------
1 |
2 | 限制日期的范围是 2006-09-10到2008-12-20
3 |
4 |
5 | 限制时间的范围是 8:00:00 到 11:30:00
6 |
7 |
8 | 动态限制,你可以通过系统给出的动态变量,如%y(当前年),%M(当前月)等来限度日期范围,你还可以通过{}进行表达式运算,如:{%d+1}:表示明天
9 | 1)只能选择今天以前的日期(包括今天)
10 |
11 |
12 | 2)只能选择今天以后的日期(不包括今天)
13 |
14 |
15 | 3)只能选择本月
16 |
17 |
18 | 4)前面的日期不能大于后面的日期 且 两个日期都不能大于今天
19 |
20 | ~
21 |
22 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_realDate.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 真实的日期是:
4 | 选择的日期是:{{date1}}
5 |
6 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_showWeek.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 选择的日期是:{{date}}
4 |
5 |
--------------------------------------------------------------------------------
/src/my97datepicker/docs/datepicker_startDate.html:
--------------------------------------------------------------------------------
1 |
2 | 当日期框为空值时,将使用 2000-10-12 做为起始日期
3 |
4 | 无论日期框是否为空,都将使用 2000-10-12 做为起始日期
5 |
6 | 动态参数(如:%y,%M分别表示当前年和月)。起始日期为当前当月1日
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/panel/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
4 | panel 的高度根据文字自适应
5 | panel 的高度根据文字自适应
6 |
7 |
--------------------------------------------------------------------------------
/src/panel/docs/demo.js:
--------------------------------------------------------------------------------
1 | var PanelDemoCtrl = ['$scope', function($scope) {
2 | $scope.isopen = true;
3 | $scope.isopen1 = true;
4 | $scope.toggle = function(){
5 | $scope.isopen = !$scope.isopen;
6 | };
7 | }];
8 | angular.module('ui.wisoft').controller('PanelDemoCtrl',PanelDemoCtrl);
--------------------------------------------------------------------------------
/src/panel/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"panel",
3 | "discribe":"panel",
4 | "demos":[
5 | {"demoDiscribe":"常用","html":"panel/docs/demo.html","js":"panel/docs/demo.js"},
6 | {"demoDiscribe":"指定尺寸","html":"panel/docs/demo_size.html","js":"panel/docs/demo.js"},
7 | {"demoDiscribe":"标题栏","html":"panel/docs/demo_heading.html","js":"panel/docs/demo.js"},
8 | {"demoDiscribe":"工具栏","html":"panel/docs/demo_tools.html","js":"panel/docs/demo_tools.js"},
9 | {"demoDiscribe":"折叠展开","html":"panel/docs/demo_coll.html","js":"panel/docs/demo.js"},
10 | {"demoDiscribe":"打开/关闭","html":"panel/docs/demo_open.html","js":"panel/docs/demo.js"},
11 | {"demoDiscribe":"事件监听","html":"panel/docs/demo_listener.html","js":"panel/docs/demo_listener.js"},
12 | {"demoDiscribe":"wiid调用方法","html":"panel/docs/demo_method.html","js":"panel/docs/demo_method.js"}
13 | ]
14 | }
--------------------------------------------------------------------------------
/src/panel/docs/demo_coll.html:
--------------------------------------------------------------------------------
1 |
2 |
6 | collapsible 设置可以通过点击头部展开
7 | collapsed 设置初始折叠
8 |
9 |
--------------------------------------------------------------------------------
/src/panel/docs/demo_heading.html:
--------------------------------------------------------------------------------
1 |
2 |
6 | heading 头部文字
7 | head-tools 可选项:collapse, close
8 | head-icon 头部图片路径
9 | center 头部居中
10 |
11 |
12 |
13 |
14 |
15 | PANEL TEST TWO
16 |
17 | wi-panel-heading 通过此标签自定义头部,heading 及 head-icon 将失效
18 |
19 |
--------------------------------------------------------------------------------
/src/panel/docs/demo_listener.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | ,请在控制台中查看输出
4 |
5 |
13 | onopened 打开后触发
14 | onclosed 关闭后触发
15 | oncollapse 折叠时触发
16 | onexpand 展开时触发
17 |
18 |
--------------------------------------------------------------------------------
/src/panel/docs/demo_listener.js:
--------------------------------------------------------------------------------
1 | var PanelDemoListenerCtrl = ['$scope', function($scope) {
2 | $scope.isopen = true;
3 | $scope.toggle = function(){
4 | $scope.isopen = !$scope.isopen;
5 | };
6 | $scope.opened = function(){
7 | console.log('opened');
8 | };
9 | $scope.closed = function(){
10 | console.log('closed');
11 | };
12 | $scope.col = function(){
13 | console.log('col');
14 | };
15 | $scope.exp = function(){
16 | console.log('exp');
17 | };
18 | }];
19 | angular.module('ui.wisoft').controller('PanelDemoListenerCtrl',PanelDemoListenerCtrl);
--------------------------------------------------------------------------------
/src/panel/docs/demo_method.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | ,请在控制台中查看输出
4 |
5 |
6 |
7 | $scope.mypanel.options():返回panel相关信息
8 | $scope.mypanel.element():返回panel对应jqlite元素
9 | $scope.mypanel.toggle():切换panel的折叠状态
10 |
11 |
--------------------------------------------------------------------------------
/src/panel/docs/demo_method.js:
--------------------------------------------------------------------------------
1 | var PanelDemoApiCtrl = ['$scope', function($scope) {
2 | $scope.mypanel={};
3 | $scope.myFun=function(){
4 | console.log($scope.mypanel.options());
5 | console.log($scope.mypanel.element());
6 | console.log('当前状态:',$scope.mypanel.toggle()?'折叠':'展开');
7 | }
8 | }];
9 | angular.module('ui.wisoft').controller('PanelDemoApiCtrl',PanelDemoApiCtrl);
--------------------------------------------------------------------------------
/src/panel/docs/demo_open.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 | 通过外部按钮可以控制显示
9 |
10 |
--------------------------------------------------------------------------------
/src/panel/docs/demo_size.html:
--------------------------------------------------------------------------------
1 |
2 |
6 | width 宽度
7 | height 内容面板高度
8 |
9 |
--------------------------------------------------------------------------------
/src/panel/docs/demo_tools.html:
--------------------------------------------------------------------------------
1 |
2 |
4 | 系统工具:折叠,关闭
5 |
6 |
7 |
9 | 系统工具:折叠
10 | 自定义工具:保存
11 |
12 |
--------------------------------------------------------------------------------
/src/panel/docs/demo_tools.js:
--------------------------------------------------------------------------------
1 | var PanelDemoToolsCtrl = ['$scope', function($scope) {
2 | var saveFun=function(e){
3 | alert('save event...');
4 | e.stopPropagation();
5 | };
6 | $scope.headtools = ['collapse',
7 | {name:'save',cls:'icon-save',opt:saveFun}
8 | ];
9 | }];
10 | angular.module('ui.wisoft').controller('PanelDemoToolsCtrl',PanelDemoToolsCtrl);
--------------------------------------------------------------------------------
/src/panel/template/panel/wi-panel.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
![]()
6 | {{heading}}
7 |
8 |
9 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/popupbutton/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"popupButton",
3 | "discribe":"popupButton(弹出按钮)",
4 | "demos":[
5 | {"demoDiscribe":"树","html":"popupbutton/docs/popupButton_tree.html","js":"popupbutton/docs/popupButton_tree.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/popupbutton/docs/popupButton_tree.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | {{select.name}}
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/popupbutton/docs/popupButton_tree.js:
--------------------------------------------------------------------------------
1 | var PopupButtonDemoTreeCtrl = ['$scope', function($scope) {
2 |
3 | var vm = this;
4 |
5 | vm.mytree = {};
6 |
7 | vm.simpleData = [
8 | {id:'1',name:'无锡市',parentid:'root'},
9 | {id:'11',name:'新区',parentid:'1'},
10 | {id:'111',name:'赵钱孙',parentid:'11',type:'person'},
11 | {id:'112',name:'孙李周',parentid:'11',type:'person'},
12 | {id:'113',name:'周吴郑',parentid:'11',type:'person'}
13 | ];
14 |
15 | vm.clickHandler = function () {
16 | vm.selectedItem = vm.mytree.selectedItem();
17 | vm.isopen=false;
18 | }
19 |
20 | }];
21 | angular.module('ui.wisoft').controller('PopupButtonDemoTreeCtrl',PopupButtonDemoTreeCtrl);
--------------------------------------------------------------------------------
/src/popupbutton/template/popupbutton/popupbuttonTemplate.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/progress/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/progress/docs/demo.js:
--------------------------------------------------------------------------------
1 | var progressMainCtrl = ['$scope','$interval',function($scope,$interval) {
2 | var i, timer;
3 | $scope.value = 0;
4 | $scope.label = 'tips0';
5 | $scope.start = function(){
6 | timer && $interval.cancel(timer);
7 | i = 0;
8 | timer = $interval(function(){
9 | $scope.value = i;
10 | $scope.label = 'tips' + i;
11 | if(i==50) $interval.cancel(timer);
12 | i++;
13 | },100);
14 | };
15 | }];
16 | angular.module('ui.wisoft').controller('progressMainCtrl',progressMainCtrl);
--------------------------------------------------------------------------------
/src/progress/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"progress",
3 | "discribe":"progress(进度条)",
4 | "demos":[
5 | {"demoDiscribe":"基本功能","html":"progress/docs/demo.html","js":"progress/docs/demo.js"}
6 | ,{"demoDiscribe":"嵌入提示内容","html":"progress/docs/demoElem.html","js":"progress/docs/demoElem.js"}
7 | ,{"demoDiscribe":"进度条样式","html":"progress/docs/demoType.html","js":"progress/docs/demoType.js"}
8 | ]
9 | }
--------------------------------------------------------------------------------
/src/progress/docs/demoElem.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/progress/docs/demoElem.js:
--------------------------------------------------------------------------------
1 | var progressElemMainCtrl = ['$scope','$interval','$compile',function($scope,$interval,$compile) {
2 | var i, timer;
3 | $scope.value = 0;
4 | $scope.label = 100;
5 | $scope.start = function(){
6 | timer && $interval.cancel(timer);
7 | i = 0;
8 | timer = $interval(function(){
9 | $scope.value = i;
10 | $scope.label = 100 - i;
11 | if(i==100) $interval.cancel(timer);
12 | i += 2;
13 | },100);
14 | };
15 | $scope.labelelem = $compile('')($scope);
16 | }];
17 | angular.module('ui.wisoft').controller('progressElemMainCtrl',progressElemMainCtrl);
--------------------------------------------------------------------------------
/src/progress/docs/demoType.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/progress/docs/demoType.js:
--------------------------------------------------------------------------------
1 | var progressTypeMainCtrl = ['$scope','$interval','$compile',function($scope,$interval) {
2 | var i, timer;
3 | $scope.value = 0;
4 | $scope.start = function(){
5 | timer && $interval.cancel(timer);
6 | i = 0;
7 | timer = $interval(function(){
8 | $scope.value = i;
9 | if(i==100) $interval.cancel(timer);
10 | i++;
11 | },100);
12 | };
13 | }];
14 | angular.module('ui.wisoft').controller('progressTypeMainCtrl',progressTypeMainCtrl);
--------------------------------------------------------------------------------
/src/progress/template/progress/wi-progress.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/searchinput/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 点击按钮显示搜索的内容:{{mc.value}}
5 |
6 |
--------------------------------------------------------------------------------
/src/searchinput/docs/demo.js:
--------------------------------------------------------------------------------
1 | var SearchinputDemoCtrl = ['$scope',function($scope) {
2 | var ctrl = this;
3 | ctrl.value = '';
4 | $scope.searchFun = function(selectItem){
5 | ctrl.value = selectItem;
6 | }
7 | }];
8 | angular.module('ui.wisoft').controller('SearchinputDemoCtrl',SearchinputDemoCtrl);
--------------------------------------------------------------------------------
/src/searchinput/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"searchinput",
3 | "discribe":"searchinput(搜索)",
4 | "demos":[
5 | {"demoDiscribe":"常用","html":"searchinput/docs/demo.html","js":"searchinput/docs/demo.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/searchinput/searchinput.js:
--------------------------------------------------------------------------------
1 | /**
2 | Created by QianQi on 2014/11/10.
3 | */
4 | angular.module('ui.wisoft.searchinput', [])
5 | /**
6 | * @ngdoc directive
7 | * @name ui.wisoft.searchinput.directive:wiSearchinput
8 | * @restrict E
9 | *
10 | * @description
11 | * wiSearch 是搜索控件,主要进行了样式封装,搜索时返回搜索栏中输入的文本。
12 | *
13 | * @param {string=} wiTips 搜索栏中默认显示的文本。
14 | * @param {function=} onsearch 搜索时执行的自定义方法,参数为选中项。
15 | *
16 | */
17 | .directive('wiSearchinput', [function(){
18 | return{
19 | restrict: 'E',
20 | templateUrl: 'template/searchinput/wi-searchinput.html',
21 | replace: true,
22 | transclude: true,
23 | scope: {
24 | onsearch: '&'
25 | },
26 | link: function(scope, elem, attrs){
27 | var onSelect = scope.onsearch()||angular.noop;// 选中项后执行的方法
28 | scope.value = '';
29 | scope.tips = attrs['wiTips'] || '';
30 | scope.search = function(){
31 | onSelect(scope.value);
32 | };
33 | elem.on('keydown',function(event){
34 | if(event.keyCode === 13){// 回车
35 | scope.$apply(function(){
36 | onSelect(scope.value);
37 | })
38 | }
39 | });
40 |
41 | }
42 | }
43 | }]);
--------------------------------------------------------------------------------
/src/searchinput/template/searchinput/wi-searchinput.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/searchinput/test_searchinput.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | searchinput
6 |
7 |
8 |
9 |
10 |
11 |
12 | 点击按钮显示搜索的内容:{{mc.value}}
13 |
14 |
15 |
25 |
26 |
--------------------------------------------------------------------------------
/src/tabset/docs/demo.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/src/tabset/docs/demo.js
--------------------------------------------------------------------------------
/src/tabset/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"tabset",
3 | "discribe":"tabset(标签页)",
4 | "demos":[
5 | {"demoDiscribe":"横向-基本功能","html":"tabset/docs/demo1.html","js":"tabset/docs/demo1.js"},
6 | {"demoDiscribe":"横向-指定宽高","html":"tabset/docs/demo2.html","js":"tabset/docs/demo.js"},
7 | {"demoDiscribe":"横向-禁止关闭","html":"tabset/docs/demo3.html","js":"tabset/docs/demo3.js"},
8 | {"demoDiscribe":"纵向","html":"tabset/docs/demo4.html","js":"tabset/docs/demo.js"},
9 | {"demoDiscribe":"纵向-指定宽高","html":"tabset/docs/demo5.html","js":"tabset/docs/demo.js"},
10 | {"demoDiscribe":"自定义标签","html":"tabset/docs/demo_heading.html","js":"tabset/docs/demo.js"},
11 | {"demoDiscribe":"wid接口方法","html":"tabset/docs/demo_method.html","js":"tabset/docs/demo_method.js"}
12 | ]
13 | }
--------------------------------------------------------------------------------
/src/tabset/docs/demo2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | width: 宽度,默认为 100%。
4 | - 值为 number 接长度单位(相对单位和绝对单位)。若不带单位,默认为 px。
5 | - 相对单位:em, ex, ch, rem, vw, vh, vm, %
6 | - 绝对单位:cm, mm, in, pt, pc, px
7 | height: 高度,默认由内容撑开。
8 | - 值说明同 width。
9 |
10 |
11 |
12 | 标签 1 内容
13 |
14 |
15 | 标签 2 内容
16 |
17 |
18 | 标签 3 内容
19 |
20 |
21 | 标签 4 内容
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/tabset/docs/demo3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | closeable="false" 整个 tabset 中的标签不可关闭,此时可以设置 disabled 属性。
4 |
5 |
6 |
7 | 点击“切换”禁用/启用第一个标签。
8 |
9 |
10 |
11 |
12 | 标签 1 内容
13 |
14 |
15 | 标签 2 内容
16 |
17 |
18 | 标签 3 内容
19 |
20 |
21 | 标签 4 内容
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/tabset/docs/demo3.js:
--------------------------------------------------------------------------------
1 | var tabsetMainCtrl3 = ['$scope', function($scope) {
2 | $scope.vm={
3 | disabled: false
4 | }
5 | }];
6 | angular.module('ui.wisoft').controller('tabsetMainCtrl3',tabsetMainCtrl3);
--------------------------------------------------------------------------------
/src/tabset/docs/demo4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 标签 1 内容
5 |
6 |
7 | 标签 2 内容
8 |
9 |
10 | 标签 3 内容
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/tabset/docs/demo5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 标签 1 内容
5 |
6 |
7 | 标签 2 内容
8 |
9 |
10 | 标签 3 内容
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/tabset/docs/demo_heading.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | wi-tab-heading: 自定义标签
4 | tabheadsize: 数字,标签部分宽度(纵向)/高度(横向),单位为 px
5 |
6 |
7 |
8 | 标签 1 内容
9 |
10 |
11 | 自定义标签
12 | 这个标签的头部是自定义的
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/tabset/docs/demo_method.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | ,控制台输出当前tabset的配置。
4 | ,选中 wiid=3 的 tab。
5 | ,关闭当前选中项。
6 |
7 |
8 |
9 | 标签 1 内容
10 |
11 |
12 | 标签 2 内容
13 |
14 |
15 | 标签 3 内容
16 |
17 |
18 | 标签 4 内容
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/tabset/docs/demo_method.js:
--------------------------------------------------------------------------------
1 | var tabsetMethodCtrl = ['$scope',function($scope) {
2 | $scope.myTabset = {};
3 | $scope.options=function(){
4 | console.log($scope.myTabset.options());
5 | };
6 | $scope.select=function(){
7 | $scope.myTabset.select($scope.myTabset.getTab('wiid','3'));
8 | };
9 | $scope.close=function(){
10 | $scope.myTabset.close($scope.myTabset.getActiveTab());
11 | };
12 | }];
13 | angular.module('ui.wisoft').controller('tabsetMethodCtrl',tabsetMethodCtrl);
--------------------------------------------------------------------------------
/src/tabset/template/tebset/tabTemplate.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
![]()
{{heading}}
7 |
8 |
--------------------------------------------------------------------------------
/src/tabset/test/tabset.spec.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by LW on 2014/8/19.
3 | */
4 |
--------------------------------------------------------------------------------
/src/tilelist/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
默认参数:纵向滚动条;列宽:100px;行高:30px
3 |
4 |
7 |
8 |
9 |
指定列数:2 列
10 |
11 |
14 |
15 |
16 |
指定列宽:150px
17 |
18 |
21 |
22 |
--------------------------------------------------------------------------------
/src/tilelist/docs/demo.js:
--------------------------------------------------------------------------------
1 | var tilelistCtrl = ['$scope', function($scope) {
2 | $scope.tilelistdata = [
3 | {color:'#1c1c84',name:'1'}
4 | ,{color:'#2c2c84',name:'2'}
5 | ,{color:'#3c3c84',name:'3'}
6 | ,{color:'#4c4c84',name:'4'}
7 | ,{color:'#5c5c84',name:'5'}
8 | ,{color:'#6c6c84',name:'6'}
9 | ,{color:'#7c7c84',name:'7'}
10 | ,{color:'#9c8c84',name:'8'}
11 | ,{color:'#ac9c84',name:'9'}
12 | ,{color:'#bcac84',name:'10'}
13 | ,{color:'#ccbc84',name:'11'}
14 | ,{color:'#dccc84',name:'12'}
15 | ,{color:'#ecdc84',name:'13'}
16 | ,{color:'#fcec84',name:'14'}
17 | ,{color:'#fcfc14',name:'15'}
18 | ,{color:'#cabc24',name:'16'}
19 | ,{color:'#dbcc34',name:'17'}
20 | ,{color:'#ecdc44',name:'18'}
21 | ];
22 | }];
23 | angular.module('ui.wisoft').controller('tilelistCtrl',tilelistCtrl);
--------------------------------------------------------------------------------
/src/tilelist/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"tilelist",
3 | "discribe":"tileList(瓦片列表)",
4 | "demos":[
5 | {"demoDiscribe":"纵向基本用法","html":"tilelist/docs/demo.html","js":"tilelist/docs/demo.js"},
6 | {"demoDiscribe":"横向基本用法","html":"tilelist/docs/demoH.html","js":"tilelist/docs/demo.js"},
7 | {"demoDiscribe":"数据源操作","html":"tilelist/docs/demoData.html","js":"tilelist/docs/demoData.js"}
8 | ]
9 | }
--------------------------------------------------------------------------------
/src/tilelist/docs/demoData.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/tilelist/docs/demoData.js:
--------------------------------------------------------------------------------
1 | var tilelistDataCtrl = ['$scope', function($scope) {
2 | var i = 0;
3 | $scope.setData = function() {
4 | if((i++)%2 == 0){
5 | $scope.tilelistdata = [
6 | {color:'#1c8c84',name:'1'}
7 | ,{color:'#2c8c84',name:'2'}
8 | ,{color:'#3c8c84',name:'3'}
9 | ,{color:'#4c8c84',name:'4'}
10 | ,{color:'#5c8c84',name:'5'}
11 | ,{color:'#6c8c84',name:'6'}
12 | ,{color:'#7c8c84',name:'7'}
13 | ,{color:'#9c8c84',name:'8'}
14 | ,{color:'#ac8c84',name:'9'}
15 | ];
16 | }else{
17 | $scope.tilelistdata = [
18 | {color:'#1c1c84',name:'1'}
19 | ,{color:'#2c2c84',name:'2'}
20 | ,{color:'#3c3c84',name:'3'}
21 | ,{color:'#4c4c84',name:'4'}
22 | ,{color:'#5c5c84',name:'5'}
23 | ];
24 | }
25 | };
26 | $scope.setData();
27 | $scope.clearData = function() {
28 | $scope.tilelistdata = [];
29 | };
30 | }];
31 | angular.module('ui.wisoft').controller('tilelistDataCtrl',tilelistDataCtrl);
--------------------------------------------------------------------------------
/src/tilelist/docs/demoH.html:
--------------------------------------------------------------------------------
1 |
2 |
横向滚动条 direction="h" 默认参数:列宽:100px;行高:30px
3 |
4 |
7 |
8 |
9 |
指定行数:2 行
10 |
11 |
14 |
15 |
16 |
指定行高:120px
17 |
18 |
21 |
22 |
--------------------------------------------------------------------------------
/src/tilelist/template/tilelist/tilelistTemplate.html:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/src/tilelist/test/tilelist.spec.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by LW on 2014/8/14.
3 | */
4 |
--------------------------------------------------------------------------------
/src/tooltip/docs/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1 在此处停留,显示文本框中的内容。
5 |
6 |
7 |
8 | 2 【弹出方向】
9 | 上方显示
10 | 下方显示
11 | 左侧显示
12 | 右侧显示
13 |
14 |
15 | 3 在此处停留,1s 后显示。
16 |
17 |
18 | 4 【触发方式】在此处单击,显示/隐藏。
19 |
20 |
21 | 5 在此处停留,直接显示,无淡入淡出效果。
22 |
23 |
24 | 6 在此处停留,提示直接加在顶层窗口 body 节点。
25 |
26 |
27 | 7 在此处停留,显示自定义内容。
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/tooltip/docs/demo.js:
--------------------------------------------------------------------------------
1 | var tooltipCtrl = ['$scope', function($scope) {
2 | $scope.dynamicTooltip = '此处输入动态提示';
3 | $scope.htmlTooltip = '自定义HTML提示!';
4 | }];
5 | angular.module('ui.wisoft').controller('tooltipCtrl',tooltipCtrl);
--------------------------------------------------------------------------------
/src/tooltip/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"tooltip",
3 | "discribe":"tooltip(提示标签)",
4 | "demos":[
5 | {"demoDiscribe":"常见功能","html":"tooltip/docs/demo.html","js":"tooltip/docs/demo.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/tooltip/template/tooltip/tooltip-html-unsafe-popup.html:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/tooltip/template/tooltip/tooltip-popup.html:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/transition/docs/demo.html:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 | $transition 接受 3 个参数:
16 | $element: transition 的 jqLite 元素,变化
17 | change:
18 | * - string,要加到 element 上的 class。
19 | * - object, 要应用到 element 上的 style 哈希表。
20 | * - function, 将被调用以使变化发生的函数。
21 | options:若定义了 options.animation,则执行的是动画(animation)操作,若省略则默认为过渡(transition)操作。
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/transition/docs/demo.js:
--------------------------------------------------------------------------------
1 | var TransitionDemoCtrl = ['$scope','$transition', function($scope, $transition) {
2 | function transitionDone(){
3 | console.log('变换完成');
4 | }
5 | $scope.toggleStyle = function(e){
6 | var elem = (angular.element(e.target)).parent(),
7 | change = {'width': '300px'};
8 | $transition(elem, change).then(transitionDone, transitionDone);//transition (成功,失败)时执行回调函数,返回新的 promise 对象
9 | };
10 | $scope.toggleClass = function(e){
11 | var elem = (angular.element(e.target)).parent(),
12 | change = 'opened';
13 | $transition(elem, change).then(transitionDone, transitionDone);
14 | };
15 | $scope.toggleFun = function(e){
16 | var elem = (angular.element(e.target)).parent();
17 | var change = function(){
18 | elem.addClass('opened');
19 | };
20 | $transition(elem, change).then(transitionDone, transitionDone);
21 | };
22 | }];
23 | angular.module('ui.wisoft').controller('TransitionDemoCtrl',TransitionDemoCtrl);
--------------------------------------------------------------------------------
/src/transition/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"transition",
3 | "discribe":"transition(变换/动画)",
4 | "demos":[
5 | {"demoDiscribe":"动画变换样式","html":"transition/docs/demo.html","js":"transition/docs/demo.js"}
6 | ]
7 | }
--------------------------------------------------------------------------------
/src/tree/docs/demo.json:
--------------------------------------------------------------------------------
1 | {
2 | "cname":"tree",
3 | "discribe":"Tree(树)",
4 | "demos":[
5 | {"demoDiscribe":"数据源","html":"tree/docs/tree_dataprovider.html","js":"tree/docs/tree_dataprovider.js"}
6 | ,{"demoDiscribe":"自定义","html":"tree/docs/tree_custom.html","js":"tree/docs/tree_custom.js"}
7 | ,{"demoDiscribe":"选中","html":"tree/docs/tree_select.html","js":"tree/docs/tree_select.js"}
8 | ,{"demoDiscribe":"事件","html":"tree/docs/tree_event.html","js":"tree/docs/tree_event.js"}
9 | ,{"demoDiscribe":"wid接口方法","html":"tree/docs/tree_method.html","js":"tree/docs/tree_method.js"}
10 | ,{"demoDiscribe":"renderer","html":"tree/docs/tree_renderer.html","js":"tree/docs/tree_renderer.js"}
11 | ,{"demoDiscribe":"过滤","html":"tree/docs/tree_filter.html","js":"tree/docs/tree_filter.js"}
12 | ]
13 | }
--------------------------------------------------------------------------------
/src/tree/docs/tree_custom.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | 【数据源】
9 | idfield: 指定 id 字段
10 | pidfield: 指定 pid 字段
11 | labelfield: 指定 text 字段
12 | cls: 可指定节点图标的 class
13 | 【wiTree属性】
14 | pcls: 父节点图标 class(字符串)
15 | ccls: 叶子节点图标 class(字符串)
16 |
17 |
18 |
20 |
21 |
--------------------------------------------------------------------------------
/src/tree/docs/tree_custom.js:
--------------------------------------------------------------------------------
1 | var TreeDemoCustomCtrl = [function() {
2 | var vm = this;
3 | var simpleData = [
4 | {id:'2',name:'node2',pid:'root',cls:'specIcon'},
5 | {id:'1',name:'node1',pid:'root'},
6 | {id:'3',name:'node3',pid:'root'},
7 | {id:'4',name:'node4',pid:'root'},
8 | {id:'13',name:'node13',pid:'1'},
9 | {id:'12',name:'node12',pid:'1'},
10 | {id:'11',name:'node11',pid:'1'},
11 | {id:'21',name:'node21',pid:'2'},
12 | {id:'22',name:'node22',pid:'2'},
13 | {id:'23',name:'node23',pid:'2'},
14 | {id:'31',name:'node31',pid:'3'},
15 | {id:'32',name:'node32',pid:'3'},
16 | {id:'33',name:'node33',pid:'3'},
17 | {id:'111',name:'node111',pid:'11'},
18 | {id:'113',name:'node113',pid:'11'},
19 | {id:'112',name:'node112',pid:'11'}
20 | ];
21 | vm.simpleData = simpleData;
22 | }];
23 | angular.module('ui.wisoft').controller('TreeDemoCustomCtrl',TreeDemoCustomCtrl);
--------------------------------------------------------------------------------
/src/tree/docs/tree_dataprovider.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | id: id字段,可通过 idfield 指定
4 | pid: parentid 字段,可通过 pidfield 指定
5 | text: 显示字段,可通过 labelfield 指定
6 | isbranch: 是否为分支字段,若指定 isbranch=true,则其拥有子节点,需要延迟加载 - 多选且级联选中时不支持
7 | selected: 初始时是否选中,默认为 false
8 | closed: 是否折叠,默认为 false
9 | cls: 节点图标的 class
10 |
11 |
12 |
13 |
14 | ,切换数据源
15 |
16 |
17 |
18 |
19 |
20 |
21 |
树形结构数据源,isTree="true"(字符串)
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/tree/docs/tree_filter.html:
--------------------------------------------------------------------------------
1 |
2 | 请输入关键字:
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/tree/docs/tree_filter.js:
--------------------------------------------------------------------------------
1 | var TreeDemoFilterCtrl = [function() {
2 | var vm = this;
3 |
4 | vm.simpleData = [
5 | {id:'2',text:'node2',pid:'root'},
6 | {id:'1',text:'node1',pid:'root'},
7 | {id:'3',text:'node3',pid:'root'},
8 | {id:'4',text:'node4',pid:'root'},
9 | {id:'13',text:'node13',pid:'1'},
10 | {id:'12',text:'node12',pid:'1'},
11 | {id:'11',text:'node11',pid:'1'},
12 | {id:'21',text:'node21',pid:'2'},
13 | {id:'22',text:'node22',pid:'2'},
14 | {id:'23',text:'node23',pid:'2'},
15 | {id:'31',text:'node31',pid:'3'},
16 | {id:'32',text:'node32',pid:'3'},
17 | {id:'33',text:'node33',pid:'3'},
18 | {id:'111',text:'node111',pid:'11'},
19 | {id:'113',text:'node113',pid:'11'},
20 | {id:'112',text:'node112',pid:'11'}
21 | ];
22 | }];
23 | angular.module('ui.wisoft').controller('TreeDemoFilterCtrl',TreeDemoFilterCtrl);
--------------------------------------------------------------------------------
/src/tree/docs/tree_method.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | ,切换数据源
7 | ,控制台显示 text="node1" 的节点
8 | ,控制台显示所有 pic="root" 的节点
9 | ,控制台显示选中项(单选)或选中项集合(多选)
10 | ,选中 text="node1" 的节点
11 | ,折叠 text="node1" 的节点
12 | ,展开 text="node1" 的节点
13 | ,添加一个根节点
14 | ,删除 text="node4" 的节点
15 | ,将 text="node1" 的节点文本改为"天安门",图标样式改为specIcon
16 |
17 |
18 |
20 |
21 |
--------------------------------------------------------------------------------
/src/tree/docs/tree_renderer.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | 通过 renderer 扩展节点,data['wi-treehover'] 标识鼠标悬停
7 |
8 |
9 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/tree/docs/tree_select.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | multiselect 多选,false|true,默认 false,支持绑定 scope 中的对象,并切换多选支持状态。
4 | cascade 支持多选时,是否级联父子节点的选中状态,默认为 false
5 |
6 |
7 |
8 |
9 | ,切换多选/单选
10 |
11 |
12 |
14 |
15 |
16 |
17 |
级联选中状态的复选树,cascade="true"(字符串)
18 |
19 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/themes/blue/accordion.css:
--------------------------------------------------------------------------------
1 | /* ---------- accordion ---------- */
2 | .wi-accordion {
3 | border: solid 1px #94c0d2;
4 | border-top: none;
5 | }
6 | .wi-accordion-group {
7 | background-color: #ffffff;
8 | }
9 | .wi-accordion-head {
10 | padding: 0 .5em;
11 | font-size: 15px;
12 | border-top: solid 1px #94c0d2;
13 | background-color: #daecf4;
14 | color: #003f59;
15 | cursor: pointer;
16 | white-space: nowrap;
17 | overflow: hidden;
18 | text-overflow: ellipsis;
19 | }
20 | .wi-accordion-head:hover {
21 | background-color: #ffd256;
22 | color: #333333;
23 | }
24 | .wi-accordion-disabled {
25 | color: #64a1bb;
26 | }
27 | .wi-accordion-panel {
28 | border-top: solid 1px #94c0d2;
29 | }
30 | .wi-accordion-cont {
31 | padding: 10px;
32 | overflow: auto;
33 | }
34 |
--------------------------------------------------------------------------------
/themes/blue/alert.css:
--------------------------------------------------------------------------------
1 | /* ---------- alert ---------- */
2 | .wi-alert-icon {
3 | font-size: 35px;
4 | float: left;
5 | margin-left: 15px;
6 | }
7 | .wi-alert-icon > span {
8 | box-reflect: below 0 -webkit-linear-gradient(transparent, transparent 50%, rgba(255, 255, 255, 0.3));
9 | -webkit-box-reflect: below 0 -webkit-linear-gradient(transparent, transparent 50%, rgba(255, 255, 255, 0.3));
10 | }
11 | .wi-alert-icon > span.icon-exclamation-sign {
12 | color: #eeee23;
13 | }
14 | .wi-alert-icon > span.icon-ok-sign {
15 | color: #37a91d;
16 | }
17 | .wi-alert-icon > span.icon-remove-sign {
18 | color: #C40D0D;
19 | }
20 | .wi-alert-icon > span.icon-question-sign {
21 | color: #6167cd;
22 | }
23 | .wi-alert-icon > span.icon-info-sign {
24 | color: #6167cd;
25 | }
26 | .wi-alert-simple-cont {
27 | min-height: 75px;
28 | margin: auto 5px auto 70px;
29 | padding-top: 10px;
30 | font-weight: bold;
31 | }
32 | .wi-alert-toolbar {
33 | float: left;
34 | margin: 0 -10px;
35 | width: calc(100% + 20px);
36 | padding: 5px;
37 | position: relative;
38 | bottom: -10px;
39 | background: #ecf8ff;
40 | }
41 | .wi-alert-toolbar > .wi-btn {
42 | float: right;
43 | margin-right: .5em;
44 | min-width: 60px;
45 | }
46 |
--------------------------------------------------------------------------------
/themes/blue/collapse.css:
--------------------------------------------------------------------------------
1 | /* ---------- collapse ---------- */
2 | .wi-collapse {
3 | display: none;
4 | }
5 | .wi-collapsing {
6 | position: relative;
7 | height: 0;
8 | overflow: hidden;
9 | -webkit-transition: height .35s ease;
10 | transition: height .35s ease;
11 | }
12 |
--------------------------------------------------------------------------------
/themes/blue/fileupload.css:
--------------------------------------------------------------------------------
1 | /* ---------- fileupload ---------- */
2 | .wi-fileupload-btndiv {
3 | position: absolute;
4 | overflow: hidden;
5 | }
6 | .wi-fileupload-btn {
7 | position: absolute;
8 | top: 0;
9 | height: 100%;
10 | left: 0;
11 | width: 100%;
12 | opacity: 0;
13 | font-size: 999px;
14 | }
15 | .wi-fileupload > li > span {
16 | margin-right: .5em;
17 | }
18 | span.wi-fileupload-completed,
19 | span.wi-fileupload-tip,
20 | span.wi-fileupload-queued {
21 | color: #558193;
22 | }
23 | span.wi-fileupload-error {
24 | color: #f00;
25 | }
26 | span.wi-fileupload-error {
27 | color: #f00;
28 | }
29 | span.wi-fileupload-del {
30 | cursor: pointer;
31 | text-decoration: none;
32 | }
33 | span.wi-fileupload-del:hover {
34 | text-decoration: underline;
35 | }
36 |
--------------------------------------------------------------------------------
/themes/blue/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/themes/blue/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/themes/blue/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/themes/blue/images/camerascanner/tools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/camerascanner/tools.png
--------------------------------------------------------------------------------
/themes/blue/images/camerascanner/wait.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/camerascanner/wait.gif
--------------------------------------------------------------------------------
/themes/blue/images/datagrid/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/datagrid/loading.gif
--------------------------------------------------------------------------------
/themes/blue/images/dividedbox/collctrl.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/dividedbox/collctrl.gif
--------------------------------------------------------------------------------
/themes/blue/images/imageview/ctrls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/imageview/ctrls.png
--------------------------------------------------------------------------------
/themes/blue/images/imageview/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/imageview/loading.gif
--------------------------------------------------------------------------------
/themes/blue/images/imageview/nopic.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/imageview/nopic.gif
--------------------------------------------------------------------------------
/themes/blue/images/my97datepicker/datePicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/my97datepicker/datePicker.gif
--------------------------------------------------------------------------------
/themes/blue/images/my97datepicker/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/my97datepicker/img.gif
--------------------------------------------------------------------------------
/themes/blue/images/tree/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/blue/images/tree/loading.gif
--------------------------------------------------------------------------------
/themes/blue/panel.css:
--------------------------------------------------------------------------------
1 | /* ---------- panel ---------- */
2 | .wi-panel-close {
3 | display: none;
4 | }
5 | .wi-panel-head {
6 | padding: 1px 5px 2px 5px;
7 | border: solid 1px #94c0d2;
8 | font-size: 15px;
9 | background-color: #daecf4;
10 | background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0) 100%);
11 | background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0) 100%);
12 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#37ffffff', endColorstr='#00ffffff', GradientType=0);
13 | color: #003f59;
14 | position: relative;
15 | }
16 | img.wi-panel-icon {
17 | vertical-align: middle;
18 | }
19 | .wi-panel-tools {
20 | position: absolute;
21 | top: 2px;
22 | right: 5px;
23 | }
24 | .wi-panel-tools > span {
25 | color: #558193;
26 | cursor: pointer;
27 | }
28 | .wi-panel-tools > span:not(:first-child) {
29 | margin-left: .3em;
30 | }
31 | .wi-panel-tools > span:hover {
32 | color: #003f59;
33 | }
34 | .wi-panel-box {
35 | border: solid 1px #94c0d2;
36 | border-top: none;
37 | background-color: #ffffff;
38 | overflow: auto;
39 | }
40 | .wi-panel-h > .wi-panel-head {
41 | height: 30px;
42 | overflow: hidden;
43 | }
44 |
--------------------------------------------------------------------------------
/themes/blue/popup.css:
--------------------------------------------------------------------------------
1 | /* ---------- popup ---------- */
2 | .wi-popup:focus {
3 | outline: 0;
4 | }
5 | .wi-popup-open {
6 | /* 聚焦样式 */
7 | outline: 0;
8 | -moz-box-shadow: 0 0 4px 1px #7ec6e3;
9 | -webkit-box-shadow: 0 0 4px 1px #7ec6e3;
10 | box-shadow: 0 0 4px 1px #7ec6e3;
11 | }
12 | .wi-popup-menu {
13 | display: none;
14 | visibility: hidden;
15 | position: absolute;
16 | min-width: 160px;
17 | padding: 5px 0;
18 | background: #ffffff;
19 | border: 1px solid #94c0d2;
20 | -moz-box-shadow: 2px 2px 10px 0 rgba(183, 228, 247, 0.78);
21 | -webkit-box-shadow: 2px 2px 10px 0 rgba(183, 228, 247, 0.78);
22 | box-shadow: 2px 2px 10px 0 rgba(183, 228, 247, 0.78);
23 | background-clip: padding-box;
24 | }
25 | .wi-popup-menu-open {
26 | display: block;
27 | }
28 |
--------------------------------------------------------------------------------
/themes/blue/popupbutton.css:
--------------------------------------------------------------------------------
1 | /* ---------- popupbutton ---------- */
2 | .wi-popupbutton {
3 | background: transparent;
4 | display: inline-block;
5 | padding: 0;
6 | }
7 | .wi-popupbutton-content {
8 | width: 100%;
9 | }
10 | .wi-popupbutton-content:not(:last-child) {
11 | /* 当有 arrow 时修改 content 的宽 */
12 | float: left;
13 | width: calc(100% - 23px);
14 | }
15 | .wi-popupbutton > input:focus,
16 | .wi-popupbutton > button:focus {
17 | outline: none;
18 | }
19 | .wi-popupbutton-arrow {
20 | float: left;
21 | width: 23px;
22 | border-left: none;
23 | }
24 | .wi-popupbutton-arrow > .icon-chevron-down {
25 | line-height: .8;
26 | vertical-align: middle;
27 | }
28 | .wi-popupbutton-menu {
29 | overflow-y: auto;
30 | }
31 |
--------------------------------------------------------------------------------
/themes/blue/searchinput.css:
--------------------------------------------------------------------------------
1 | /* ---------- searchinput ---------- */
2 | .wi-searchinput {
3 | position: relative;
4 | display: inline-block;
5 | background-color: #ffffff;
6 | }
7 | .wi-searchinput > input[type='text'] {
8 | border: solid 1px #94c0d2;
9 | border-right: none;
10 | box-shadow: none;
11 | width: calc(100% - 22px);
12 | }
13 | .wi-searchinput > .icon-search {
14 | border: solid 1px #94c0d2;
15 | position: absolute;
16 | right: 0;
17 | top: 0;
18 | bottom: 0;
19 | background-color: #daecf4;
20 | background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0) 100%);
21 | background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0) 100%);
22 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#37ffffff', endColorstr='#00ffffff', GradientType=0);
23 | color: #003f59;
24 | width: 23px;
25 | cursor: pointer;
26 | }
27 | .wi-searchinput > .icon-search:hover {
28 | background-color: #7bd2f6;
29 | color: #444444;
30 | }
31 | .wi-searchinput > .icon-search:active {
32 | color: #003f59;
33 | outline: 0;
34 | -moz-box-shadow: 0 0 4px 1px #7ec6e3;
35 | -webkit-box-shadow: 0 0 4px 1px #7ec6e3;
36 | box-shadow: 0 0 4px 1px #7ec6e3;
37 | }
38 | .wi-searchinput > .icon-search:before {
39 | position: absolute;
40 | top: 50%;
41 | left: 50%;
42 | margin-top: -9px;
43 | margin-left: -6px;
44 | }
45 |
--------------------------------------------------------------------------------
/themes/blue/tilelist.css:
--------------------------------------------------------------------------------
1 | .wi-titlelist {
2 | width: 100%;
3 | height: 100%;
4 | overflow: auto;
5 | }
6 | .wi-titlelist-cont {
7 | height: 100%;
8 | }
9 |
--------------------------------------------------------------------------------
/themes/blue/tree.css:
--------------------------------------------------------------------------------
1 | /* ---------- tree ---------- */
2 | .wi-tree > li {
3 | cursor: pointer;
4 | }
5 | .wi-tree-item {
6 | height: 22px;
7 | }
8 | .wi-tree-item:hover {
9 | color: #003f59;
10 | background-color: #eaf4f9;
11 | }
12 | .wi-tree-current,
13 | .wi-tree-current:hover {
14 | color: #ffffff;
15 | background-color: #2b7797;
16 | }
17 | .wi-tree-loading {
18 | width: 12px;
19 | height: 12px;
20 | position: relative;
21 | top: 2px;
22 | display: inline-block;
23 | background: #ffffff url('images/tree/loading.gif') no-repeat center center;
24 | }
25 | .wi-tree-transparent-50 {
26 | filter: alpha(opacity=50);
27 | opacity: 0.5;
28 | }
29 | span.wi-tree-icon {
30 | display: inline-block;
31 | width: 12px;
32 | height: 12px;
33 | vertical-align: middle;
34 | }
35 | span.wi-tree-icon[class^="icon-"],
36 | span.wi-tree-icon[class*=" icon-"] {
37 | display: inline;
38 | width: auto;
39 | height: auto;
40 | }
41 |
--------------------------------------------------------------------------------
/themes/blue/wi-all.css:
--------------------------------------------------------------------------------
1 | @import 'theme.css';
2 | @import 'collapse.css';
3 |
4 | @import 'accordion.css';
5 | @import 'carousel.css';
6 |
7 | @import 'popup.css';
8 | @import 'combobox.css';
9 | @import 'popupbutton.css';
10 | @import 'menu.css';
11 | @import 'tooltip.css';
12 |
13 | @import 'datagrid.css';
14 | @import 'dialog.css';
15 | @import 'alert.css';
16 | @import 'dividedbox.css';
17 | @import 'my97datepicker.css';
18 | @import 'tabset.css';
19 | @import 'tilelist.css';
20 | @import 'tree.css';
21 | @import 'imageview.css';
22 | @import 'searchinput.css';
23 | @import 'panel.css';
24 | @import 'fileupload.css';
25 | @import 'messagetip.css';
26 | @import 'camerascanner.css';
27 | @import 'progress.css';
--------------------------------------------------------------------------------
/themes/default/accordion.css:
--------------------------------------------------------------------------------
1 | /* ---------- accordion ---------- */
2 | .wi-accordion {
3 | border: solid 1px #cccccc;
4 | border-top: none;
5 | }
6 | .wi-accordion-group {
7 | background-color: #ffffff;
8 | }
9 | .wi-accordion-head {
10 | padding: 0 .5em;
11 | font-size: 15px;
12 | border-top: solid 1px #cccccc;
13 | background-color: #f5f5f5;
14 | color: #575765;
15 | cursor: pointer;
16 | white-space: nowrap;
17 | overflow: hidden;
18 | text-overflow: ellipsis;
19 | }
20 | .wi-accordion-head:hover {
21 | background-color: #ffd256;
22 | color: #333333;
23 | }
24 | .wi-accordion-disabled {
25 | color: #929292;
26 | }
27 | .wi-accordion-panel {
28 | border-top: solid 1px #cccccc;
29 | }
30 | .wi-accordion-cont {
31 | padding: 10px;
32 | overflow: auto;
33 | }
34 |
--------------------------------------------------------------------------------
/themes/default/alert.css:
--------------------------------------------------------------------------------
1 | /* ---------- alert ---------- */
2 | .wi-alert-icon {
3 | font-size: 35px;
4 | float: left;
5 | margin-left: 15px;
6 | }
7 | .wi-alert-icon > span {
8 | box-reflect: below 0 -webkit-linear-gradient(transparent, transparent 50%, rgba(255, 255, 255, 0.3));
9 | -webkit-box-reflect: below 0 -webkit-linear-gradient(transparent, transparent 50%, rgba(255, 255, 255, 0.3));
10 | }
11 | .wi-alert-icon > span.icon-exclamation-sign {
12 | color: #eeee23;
13 | }
14 | .wi-alert-icon > span.icon-ok-sign {
15 | color: #37a91d;
16 | }
17 | .wi-alert-icon > span.icon-remove-sign {
18 | color: #C40D0D;
19 | }
20 | .wi-alert-icon > span.icon-question-sign {
21 | color: #6167cd;
22 | }
23 | .wi-alert-icon > span.icon-info-sign {
24 | color: #6167cd;
25 | }
26 | .wi-alert-simple-cont {
27 | min-height: 75px;
28 | margin: auto 5px auto 70px;
29 | padding-top: 10px;
30 | font-weight: bold;
31 | }
32 | .wi-alert-toolbar {
33 | float: left;
34 | margin: 0 -10px;
35 | width: calc(100% + 20px);
36 | padding: 5px;
37 | position: relative;
38 | bottom: -10px;
39 | background: #fafafa;
40 | }
41 | .wi-alert-toolbar > .wi-btn {
42 | float: right;
43 | margin-right: .5em;
44 | min-width: 60px;
45 | }
46 |
--------------------------------------------------------------------------------
/themes/default/collapse.css:
--------------------------------------------------------------------------------
1 | /* ---------- collapse ---------- */
2 | .wi-collapse {
3 | display: none;
4 | }
5 | .wi-collapsing {
6 | position: relative;
7 | height: 0;
8 | overflow: hidden;
9 | -webkit-transition: height .35s ease;
10 | transition: height .35s ease;
11 | }
12 |
--------------------------------------------------------------------------------
/themes/default/fileupload.css:
--------------------------------------------------------------------------------
1 | /* ---------- fileupload ---------- */
2 | .wi-fileupload-btndiv {
3 | position: absolute;
4 | overflow: hidden;
5 | }
6 | .wi-fileupload-btn {
7 | position: absolute;
8 | top: 0;
9 | height: 100%;
10 | left: 0;
11 | width: 100%;
12 | opacity: 0;
13 | font-size: 999px;
14 | }
15 | .wi-fileupload > li > span {
16 | margin-right: .5em;
17 | }
18 | span.wi-fileupload-completed,
19 | span.wi-fileupload-tip,
20 | span.wi-fileupload-queued {
21 | color: #808080;
22 | }
23 | span.wi-fileupload-error {
24 | color: #f00;
25 | }
26 | span.wi-fileupload-error {
27 | color: #f00;
28 | }
29 | span.wi-fileupload-del {
30 | cursor: pointer;
31 | text-decoration: none;
32 | }
33 | span.wi-fileupload-del:hover {
34 | text-decoration: underline;
35 | }
36 |
--------------------------------------------------------------------------------
/themes/default/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/themes/default/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/themes/default/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/themes/default/images/camerascanner/tools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/camerascanner/tools.png
--------------------------------------------------------------------------------
/themes/default/images/camerascanner/wait.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/camerascanner/wait.gif
--------------------------------------------------------------------------------
/themes/default/images/datagrid/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/datagrid/loading.gif
--------------------------------------------------------------------------------
/themes/default/images/dividedbox/collctrl.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/dividedbox/collctrl.gif
--------------------------------------------------------------------------------
/themes/default/images/imageview/ctrls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/imageview/ctrls.png
--------------------------------------------------------------------------------
/themes/default/images/imageview/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/imageview/loading.gif
--------------------------------------------------------------------------------
/themes/default/images/imageview/nopic.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/imageview/nopic.gif
--------------------------------------------------------------------------------
/themes/default/images/my97datepicker/datePicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/my97datepicker/datePicker.gif
--------------------------------------------------------------------------------
/themes/default/images/my97datepicker/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/my97datepicker/img.gif
--------------------------------------------------------------------------------
/themes/default/images/tree/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wi4angular/WebUI4Angular/23282a5e45111af5f81ab6bbaaa87d3feeb738cd/themes/default/images/tree/loading.gif
--------------------------------------------------------------------------------
/themes/default/panel.css:
--------------------------------------------------------------------------------
1 | /* ---------- panel ---------- */
2 | .wi-panel-close {
3 | display: none;
4 | }
5 | .wi-panel-head {
6 | padding: 1px 5px 2px 5px;
7 | border: solid 1px #cccccc;
8 | font-size: 15px;
9 | background-color: #f5f5f5;
10 | background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.06) 100%);
11 | background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.06) 100%);
12 | color: #575765;
13 | position: relative;
14 | }
15 | img.wi-panel-icon {
16 | vertical-align: middle;
17 | }
18 | .wi-panel-tools {
19 | position: absolute;
20 | top: 2px;
21 | right: 5px;
22 | }
23 | .wi-panel-tools > span {
24 | color: #808080;
25 | cursor: pointer;
26 | }
27 | .wi-panel-tools > span:not(:first-child) {
28 | margin-left: .3em;
29 | }
30 | .wi-panel-tools > span:hover {
31 | color: #333333;
32 | }
33 | .wi-panel-box {
34 | border: solid 1px #cccccc;
35 | border-top: none;
36 | background-color: #ffffff;
37 | overflow: auto;
38 | }
39 | .wi-panel-h > .wi-panel-head {
40 | height: 30px;
41 | overflow: hidden;
42 | }
43 |
--------------------------------------------------------------------------------
/themes/default/popup.css:
--------------------------------------------------------------------------------
1 | /* ---------- popup ---------- */
2 | .wi-popup:focus {
3 | outline: 0;
4 | }
5 | .wi-popup-open {
6 | /* 聚焦样式 */
7 | outline: 0;
8 | -moz-box-shadow: 0 0 4px 1px #c5c5c5;
9 | -webkit-box-shadow: 0 0 4px 1px #c5c5c5;
10 | box-shadow: 0 0 4px 1px #c5c5c5;
11 | }
12 | .wi-popup-menu {
13 | display: none;
14 | visibility: hidden;
15 | position: absolute;
16 | min-width: 160px;
17 | padding: 5px 0;
18 | background: #ffffff;
19 | border: 1px solid #cccccc;
20 | -moz-box-shadow: 2px 2px 10px 0 rgba(128, 128, 128, 0.3);
21 | -webkit-box-shadow: 2px 2px 10px 0 rgba(128, 128, 128, 0.3);
22 | box-shadow: 2px 2px 10px 0 rgba(128, 128, 128, 0.3);
23 | background-clip: padding-box;
24 | }
25 | .wi-popup-menu-open {
26 | display: block;
27 | }
28 |
--------------------------------------------------------------------------------
/themes/default/popupbutton.css:
--------------------------------------------------------------------------------
1 | /* ---------- popupbutton ---------- */
2 | .wi-popupbutton {
3 | background: transparent;
4 | display: inline-block;
5 | padding: 0;
6 | }
7 | .wi-popupbutton-content {
8 | width: 100%;
9 | }
10 | .wi-popupbutton-content:not(:last-child) {
11 | /* 当有 arrow 时修改 content 的宽 */
12 | float: left;
13 | width: calc(100% - 23px);
14 | }
15 | .wi-popupbutton > input:focus,
16 | .wi-popupbutton > button:focus {
17 | outline: none;
18 | }
19 | .wi-popupbutton-arrow {
20 | float: left;
21 | width: 23px;
22 | border-left: none;
23 | }
24 | .wi-popupbutton-arrow > .icon-chevron-down {
25 | line-height: .8;
26 | vertical-align: middle;
27 | }
28 | .wi-popupbutton-menu {
29 | overflow-y: auto;
30 | }
31 |
--------------------------------------------------------------------------------
/themes/default/tilelist.css:
--------------------------------------------------------------------------------
1 | .wi-titlelist {
2 | width: 100%;
3 | height: 100%;
4 | overflow: auto;
5 | }
6 | .wi-titlelist-cont {
7 | height: 100%;
8 | }
9 |
--------------------------------------------------------------------------------
/themes/default/tree.css:
--------------------------------------------------------------------------------
1 | /* ---------- tree ---------- */
2 | .wi-tree > li {
3 | cursor: pointer;
4 | }
5 | .wi-tree-item {
6 | height: 22px;
7 | }
8 | .wi-tree-item:hover {
9 | color: #000000;
10 | background-color: #f3f3f3;
11 | }
12 | .wi-tree-current,
13 | .wi-tree-current:hover {
14 | color: #ffffff;
15 | background-color: #0092dc;
16 | }
17 | .wi-tree-loading {
18 | width: 12px;
19 | height: 12px;
20 | position: relative;
21 | top: 2px;
22 | display: inline-block;
23 | background: #ffffff url('images/tree/loading.gif') no-repeat center center;
24 | }
25 | .wi-tree-transparent-50 {
26 | filter: alpha(opacity=50);
27 | opacity: 0.5;
28 | }
29 | span.wi-tree-icon {
30 | display: inline-block;
31 | width: 12px;
32 | height: 12px;
33 | vertical-align: middle;
34 | }
35 | span.wi-tree-icon[class^="icon-"],
36 | span.wi-tree-icon[class*=" icon-"] {
37 | display: inline;
38 | width: auto;
39 | height: auto;
40 | }
41 |
--------------------------------------------------------------------------------
/themes/default/wi-all.css:
--------------------------------------------------------------------------------
1 | @import 'theme.css';
2 | @import 'collapse.css';
3 |
4 | @import 'accordion.css';
5 | @import 'carousel.css';
6 |
7 | @import 'popup.css';
8 | @import 'combobox.css';
9 | @import 'popupbutton.css';
10 | @import 'menu.css';
11 | @import 'tooltip.css';
12 |
13 | @import 'datagrid.css';
14 | @import 'dialog.css';
15 | @import 'alert.css';
16 | @import 'dividedbox.css';
17 | @import 'my97datepicker.css';
18 | @import 'tabset.css';
19 | @import 'tilelist.css';
20 | @import 'tree.css';
21 | @import 'imageview.css';
22 | @import 'searchinput.css';
23 | @import 'panel.css';
24 | @import 'fileupload.css';
25 | @import 'messagetip.css';
26 | @import 'camerascanner.css';
27 | @import 'progress.css';
--------------------------------------------------------------------------------