fastui 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +53 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/images/fastui/application/application.png +0 -0
  6. data/app/assets/images/fastui/application/application_add.png +0 -0
  7. data/app/assets/images/fastui/application/application_cascade.png +0 -0
  8. data/app/assets/images/fastui/application/application_delete.png +0 -0
  9. data/app/assets/images/fastui/application/application_double.png +0 -0
  10. data/app/assets/images/fastui/application/application_edit.png +0 -0
  11. data/app/assets/images/fastui/application/application_error.png +0 -0
  12. data/app/assets/images/fastui/application/application_form.png +0 -0
  13. data/app/assets/images/fastui/application/application_form_add.png +0 -0
  14. data/app/assets/images/fastui/application/application_form_delete.png +0 -0
  15. data/app/assets/images/fastui/application/application_form_edit.png +0 -0
  16. data/app/assets/images/fastui/application/application_form_magnify.png +0 -0
  17. data/app/assets/images/fastui/application/application_get.png +0 -0
  18. data/app/assets/images/fastui/application/application_go.png +0 -0
  19. data/app/assets/images/fastui/application/application_home.png +0 -0
  20. data/app/assets/images/fastui/application/application_key.png +0 -0
  21. data/app/assets/images/fastui/application/application_lightning.png +0 -0
  22. data/app/assets/images/fastui/application/application_link.png +0 -0
  23. data/app/assets/images/fastui/application/application_osx.png +0 -0
  24. data/app/assets/images/fastui/application/application_osx_terminal.png +0 -0
  25. data/app/assets/images/fastui/application/application_put.png +0 -0
  26. data/app/assets/images/fastui/application/application_side_boxes.png +0 -0
  27. data/app/assets/images/fastui/application/application_side_contract.png +0 -0
  28. data/app/assets/images/fastui/application/application_side_expand.png +0 -0
  29. data/app/assets/images/fastui/application/application_side_list.png +0 -0
  30. data/app/assets/images/fastui/application/application_side_tree.png +0 -0
  31. data/app/assets/images/fastui/application/application_split.png +0 -0
  32. data/app/assets/images/fastui/application/application_tile_horizontal.png +0 -0
  33. data/app/assets/images/fastui/application/application_tile_vertical.png +0 -0
  34. data/app/assets/images/fastui/application/application_view_columns.png +0 -0
  35. data/app/assets/images/fastui/application/application_view_detail.png +0 -0
  36. data/app/assets/images/fastui/application/application_view_gallery.png +0 -0
  37. data/app/assets/images/fastui/application/application_view_icons.png +0 -0
  38. data/app/assets/images/fastui/application/application_view_list.png +0 -0
  39. data/app/assets/images/fastui/application/application_view_tile.png +0 -0
  40. data/app/assets/images/fastui/application/application_xp.png +0 -0
  41. data/app/assets/images/fastui/application/application_xp_terminal.png +0 -0
  42. data/app/assets/images/fastui/arrow/accept.png +0 -0
  43. data/app/assets/images/fastui/arrow/add.png +0 -0
  44. data/app/assets/images/fastui/arrow/arrow_branch.png +0 -0
  45. data/app/assets/images/fastui/arrow/arrow_divide.png +0 -0
  46. data/app/assets/images/fastui/arrow/arrow_down.png +0 -0
  47. data/app/assets/images/fastui/arrow/arrow_in.png +0 -0
  48. data/app/assets/images/fastui/arrow/arrow_inout.png +0 -0
  49. data/app/assets/images/fastui/arrow/arrow_join.png +0 -0
  50. data/app/assets/images/fastui/arrow/arrow_left.png +0 -0
  51. data/app/assets/images/fastui/arrow/arrow_merge.png +0 -0
  52. data/app/assets/images/fastui/arrow/arrow_out.png +0 -0
  53. data/app/assets/images/fastui/arrow/arrow_redo.png +0 -0
  54. data/app/assets/images/fastui/arrow/arrow_refresh.png +0 -0
  55. data/app/assets/images/fastui/arrow/arrow_refresh_small.png +0 -0
  56. data/app/assets/images/fastui/arrow/arrow_rotate_anticlockwise.png +0 -0
  57. data/app/assets/images/fastui/arrow/arrow_rotate_clockwise.png +0 -0
  58. data/app/assets/images/fastui/arrow/arrow_switch.png +0 -0
  59. data/app/assets/images/fastui/arrow/arrow_turn_left.png +0 -0
  60. data/app/assets/images/fastui/arrow/arrow_turn_right.png +0 -0
  61. data/app/assets/images/fastui/arrow/arrow_undo.png +0 -0
  62. data/app/assets/images/fastui/arrow/arrow_up.png +0 -0
  63. data/app/assets/images/fastui/arrow/cross.png +0 -0
  64. data/app/assets/images/fastui/cross.png +0 -0
  65. data/app/assets/images/fastui/key_go.png +0 -0
  66. data/app/assets/images/fastui/list1211.png +0 -0
  67. data/app/assets/images/fastui/loading.gif +0 -0
  68. data/app/assets/images/fastui/lock.png +0 -0
  69. data/app/assets/images/fastui/locked.png +0 -0
  70. data/app/assets/images/fastui/table/help.png +0 -0
  71. data/app/assets/images/fastui/table/table.png +0 -0
  72. data/app/assets/images/fastui/table/table_add.png +0 -0
  73. data/app/assets/images/fastui/table/table_delete.png +0 -0
  74. data/app/assets/images/fastui/table/table_edit.png +0 -0
  75. data/app/assets/images/fastui/table/table_save.png +0 -0
  76. data/app/assets/images/fastui/upload.png +0 -0
  77. data/app/assets/javascripts/fastui/app/Ctx.js +33 -0
  78. data/app/assets/javascripts/fastui/app/Env.js +38 -0
  79. data/app/assets/javascripts/fastui/app/Evaluator.js +6 -0
  80. data/app/assets/javascripts/fastui/app/inflection.js +656 -0
  81. data/app/assets/javascripts/fastui/app/store/MListMgr.js +34 -0
  82. data/app/assets/javascripts/fastui/app/store/MWindowMgr.js +27 -0
  83. data/app/assets/javascripts/fastui/app/view/FormFactory.js +11 -0
  84. data/app/assets/javascripts/fastui/app/view/Rest.js +40 -0
  85. data/app/assets/javascripts/fastui/app/view/VCommentForm.js +53 -0
  86. data/app/assets/javascripts/fastui/app/view/VCriteria.js +25 -0
  87. data/app/assets/javascripts/fastui/app/view/VCustomForm.js +34 -0
  88. data/app/assets/javascripts/fastui/app/view/VCustomTab.js +266 -0
  89. data/app/assets/javascripts/fastui/app/view/VForm.js +117 -0
  90. data/app/assets/javascripts/fastui/app/view/VGrid.js +172 -0
  91. data/app/assets/javascripts/fastui/app/view/VHelpWindow.js +21 -0
  92. data/app/assets/javascripts/fastui/app/view/VLoginForm.js +101 -0
  93. data/app/assets/javascripts/fastui/app/view/VLoginWindow.js +73 -0
  94. data/app/assets/javascripts/fastui/app/view/VMenu.js +75 -0
  95. data/app/assets/javascripts/fastui/app/view/VSearchWindow.js +102 -0
  96. data/app/assets/javascripts/fastui/app/view/VTab.js +293 -0
  97. data/app/assets/javascripts/fastui/app/view/VToolbar.js +23 -0
  98. data/app/assets/javascripts/fastui/app/view/VTreeGrid.js +158 -0
  99. data/app/assets/javascripts/fastui/app/view/VVWindow.js +72 -0
  100. data/app/assets/javascripts/fastui/app/view/VWindow.js +52 -0
  101. data/app/assets/javascripts/fastui/app/view/Viewport.js +54 -0
  102. data/app/assets/javascripts/fastui/app/view/vfield/VCheckBox.js +19 -0
  103. data/app/assets/javascripts/fastui/app/view/vfield/VCheckboxGroup.js +19 -0
  104. data/app/assets/javascripts/fastui/app/view/vfield/VDate.js +19 -0
  105. data/app/assets/javascripts/fastui/app/view/vfield/VFieldFactory.js +77 -0
  106. data/app/assets/javascripts/fastui/app/view/vfield/VFile.js +22 -0
  107. data/app/assets/javascripts/fastui/app/view/vfield/VHtmlEditor.js +19 -0
  108. data/app/assets/javascripts/fastui/app/view/vfield/VLongComboBox.js +19 -0
  109. data/app/assets/javascripts/fastui/app/view/vfield/VLookup.js +45 -0
  110. data/app/assets/javascripts/fastui/app/view/vfield/VMultipleChoice.js +46 -0
  111. data/app/assets/javascripts/fastui/app/view/vfield/VNumber.js +18 -0
  112. data/app/assets/javascripts/fastui/app/view/vfield/VSexSelect.js +30 -0
  113. data/app/assets/javascripts/fastui/app/view/vfield/VSingleChoice.js +35 -0
  114. data/app/assets/javascripts/fastui/app/view/vfield/VText.js +17 -0
  115. data/app/assets/javascripts/fastui/app/view/vfield/VTextArea.js +19 -0
  116. data/app/assets/javascripts/fastui/app/view/vfield/VTree.js +17 -0
  117. data/app/assets/javascripts/fastui/app/view/vfield/VYesOrNo.js +30 -0
  118. data/app/assets/javascripts/fastui/application.js +18 -0
  119. data/app/assets/javascripts/fastui/data/mwindows.json +7 -0
  120. data/app/assets/javascripts/fastui/data/updateMWindows.json +4 -0
  121. data/app/assets/javascripts/fastui/extjs4/locale/ext-lang-zh_CN.js +304 -0
  122. data/app/assets/javascripts/fastui/fastui.js +23 -0
  123. data/app/assets/stylesheets/fastui/admin.css +95 -0
  124. data/app/assets/stylesheets/fastui/application.css +14 -0
  125. data/app/controllers/fastui/admin_controller.rb +9 -0
  126. data/app/controllers/fastui/application_controller.rb +19 -0
  127. data/app/controllers/fastui/m_list_items_controller.rb +64 -0
  128. data/app/controllers/fastui/m_lists_controller.rb +58 -0
  129. data/app/controllers/fastui/m_menu_items_controller.rb +69 -0
  130. data/app/controllers/fastui/m_menus_controller.rb +58 -0
  131. data/app/controllers/fastui/m_orgs_controller.rb +62 -0
  132. data/app/controllers/fastui/m_people_controller.rb +89 -0
  133. data/app/controllers/fastui/m_roles_controller.rb +61 -0
  134. data/app/controllers/fastui/m_views_controller.rb +18 -0
  135. data/app/controllers/fastui/sessions_controller.rb +42 -0
  136. data/app/helpers/fastui/admin_helper.rb +4 -0
  137. data/app/helpers/fastui/application_helper.rb +4 -0
  138. data/app/models/fastui/acl.rb +21 -0
  139. data/app/models/fastui/ctx.rb +15 -0
  140. data/app/models/fastui/env.rb +16 -0
  141. data/app/models/fastui/m_acl_entry.rb +5 -0
  142. data/app/models/fastui/m_list.rb +6 -0
  143. data/app/models/fastui/m_list_item.rb +8 -0
  144. data/app/models/fastui/m_menu.rb +10 -0
  145. data/app/models/fastui/m_menu_item.rb +11 -0
  146. data/app/models/fastui/m_object.rb +41 -0
  147. data/app/models/fastui/m_org.rb +16 -0
  148. data/app/models/fastui/m_person.rb +21 -0
  149. data/app/models/fastui/m_relationship.rb +9 -0
  150. data/app/models/fastui/m_role.rb +11 -0
  151. data/app/models/fastui/user_authenticator.rb +18 -0
  152. data/app/views/fastui/admin/index.html.erb +2 -0
  153. data/app/views/layouts/fastui/application.html.erb +22 -0
  154. data/config/routes.rb +19 -0
  155. data/db/migrate/20121017013727_create_fastui_m_menu_items.rb +28 -0
  156. data/db/migrate/20121017014112_create_fastui_m_menus.rb +20 -0
  157. data/db/migrate/20121017024943_create_fastui_m_orgs.rb +26 -0
  158. data/db/migrate/20121017025014_create_fastui_m_people.rb +24 -0
  159. data/db/migrate/20121204021053_create_fastui_m_roles.rb +22 -0
  160. data/db/migrate/20121204061207_create_fastui_m_relationships.rb +25 -0
  161. data/db/migrate/20121211062955_create_fastui_m_lists.rb +23 -0
  162. data/db/migrate/20121211074436_create_fastui_m_list_items.rb +21 -0
  163. data/db/migrate/20121217020606_create_fastui_m_acl_entries.rb +22 -0
  164. data/lib/fastui/engine.rb +8 -0
  165. data/lib/fastui/m_model.rb +26 -0
  166. data/lib/fastui/tab.rb +26 -0
  167. data/lib/fastui/version.rb +3 -0
  168. data/lib/fastui/view.rb +32 -0
  169. data/lib/fastui/window.rb +43 -0
  170. data/lib/fastui.rb +8 -0
  171. data/lib/generators/fastui/USAGE +21 -0
  172. data/lib/generators/fastui/install_generator.rb +31 -0
  173. data/lib/generators/fastui/templates/fastui_config.erb +77 -0
  174. data/lib/tasks/create_sys_data.rake +11 -0
  175. data/lib/tasks/fastui_tasks.rake +707 -0
  176. data/lib/tasks/loading_data.rake +28 -0
  177. metadata +276 -0
@@ -0,0 +1,26 @@
1
+ class CreateFastuiMOrgs < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_orgs do |t|
4
+ t.string :title, :limit => 60, :null => false
5
+ t.string :print_text,:default => '',:limit => 60
6
+ t.string :name,:default => '', :limit => 60
7
+ t.string :type
8
+
9
+ t.integer :parent_id
10
+ t.integer :lft
11
+ t.integer :rgt
12
+ t.integer :depth # this is optional.
13
+
14
+ t.string :entity_kind, :default => 'app' #:sys,:app
15
+ t.integer :seq, :default => 0
16
+ t.boolean :is_active, :default => true
17
+ t.string :note , :default => ''
18
+ t.string :help, :default => ''
19
+ t.integer :createdbyorg_id, :default => 0
20
+ t.integer :createdby_id, :default => 0
21
+ t.integer :updatedby_id, :default => 0
22
+
23
+ t.timestamps
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ class CreateFastuiMPeople < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_people do |t|
4
+ t.string :title, :limit => 60, :null => false
5
+ t.string :print_text,:default => '',:limit => 60
6
+ t.string :name,:default => '',:limit => 60
7
+ t.string :username,:default => '',:limit => 60
8
+ t.string :password_digest
9
+ t.string :access_level, :default => 'org',:limit => 60
10
+ t.string :type
11
+
12
+ t.string :entity_kind, :default => 'app' #:sys,:app
13
+ t.integer :seq, :default => 0
14
+ t.boolean :is_active, :default => true
15
+ t.string :note , :default => ''
16
+ t.string :help, :default => ''
17
+ t.integer :createdbyorg_id, :default => 0
18
+ t.integer :createdby_id, :default => 0
19
+ t.integer :updatedby_id, :default => 0
20
+
21
+ t.timestamps
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ class CreateFastuiMRoles < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_roles do |t|
4
+ t.string :title, :limit => 60, :null => false
5
+ t.string :print_text,:default => '',:limit => 60
6
+ t.string :name, :default => '', :limit => 60 # 系统标识
7
+ t.string :access_level , :default => 'org' #:system,:org,:dept
8
+ t.string :type
9
+
10
+ t.string :entity_kind, :default => 'app' #:sys,:app
11
+ t.integer :seq, :default => 0
12
+ t.boolean :is_active, :default => true
13
+ t.string :note, :default => ''
14
+ t.string :help, :default => ''
15
+ t.integer :createdbyorg_id, :default => 0
16
+ t.integer :createdby_id, :default => 0
17
+ t.integer :updatedby_id, :default => 0
18
+
19
+ t.timestamps
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,25 @@
1
+ class CreateFastuiMRelationships < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_relationships do |t|
4
+ t.references :m_person
5
+ t.references :m_org
6
+ t.references :m_role
7
+
8
+ t.string :title, :limit => 60
9
+ t.string :print_text,:default => '',:limit => 60
10
+ t.string :name, :default => '', :limit => 60 #
11
+ t.string :type
12
+
13
+ t.string :entity_kind, :default => 'app' #:sys,:app
14
+ t.integer :seq, :default => 0
15
+ t.boolean :is_active, :default => true
16
+ t.string :note, :default => ''
17
+ t.string :help, :default => ''
18
+ t.integer :createdbyorg_id, :default => 0
19
+ t.integer :createdby_id, :default => 0
20
+ t.integer :updatedby_id, :default => 0
21
+
22
+ t.timestamps
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ class CreateFastuiMLists < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_lists do |t|
4
+ t.string :title, :limit => 60, :null => false
5
+ t.string :print_text,:default => '',:limit => 60
6
+ t.string :name, :default => '', :limit => 60 #系统编码
7
+ t.string :filter, :default => ''
8
+ t.string :access_level , :default => 'org' #:system,:org,:dept
9
+ t.string :type
10
+
11
+ t.string :entity_kind, :default => 'app' #:sys,:app
12
+ t.integer :seq, :default => 0
13
+ t.boolean :is_active, :default => true
14
+ t.string :note, :default => ''
15
+ t.string :help, :default => ''
16
+ t.integer :createdbyorg_id, :default => 0
17
+ t.integer :createdby_id, :default => 0
18
+ t.integer :updatedby_id, :default => 0
19
+
20
+ t.timestamps
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ class CreateFastuiMListItems < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_list_items do |t|
4
+ t.references :m_list
5
+ t.string :title, :limit => 60, :null => false
6
+ t.string :print_text,:default => '',:limit => 60
7
+ t.string :name,:default => '', :limit => 60
8
+
9
+ t.string :entity_kind, :default => 'app' #:sys,:app
10
+ t.integer :seq, :default => 0
11
+ t.boolean :is_active, :default => true
12
+ t.string :note , :default => ''
13
+ t.string :help, :default => ''
14
+ t.integer :createdbyorg_id, :default => 0
15
+ t.integer :createdby_id, :default => 0
16
+ t.integer :updatedby_id, :default => 0
17
+
18
+ t.timestamps
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ class CreateFastuiMAclEntries < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_acl_entries do |t|
4
+ t.string :aco_type, :limit =>60, :default => ''
5
+ t.integer :aco_id, :default => 0
6
+ t.string :aro_type, :limit =>60, :default => ''
7
+ t.integer :aro_id, :default => 0
8
+ t.string :permit, :limit =>60, :default => '' #allow deny
9
+
10
+ t.string :access_level , :default => '' #:system,:org,:dept
11
+ t.string :entity_kind, :default => '' #:sys,:app
12
+ t.integer :seq, :default => 0
13
+ t.boolean :actived, :default => true
14
+ t.integer :createdbyorg_id, :default => 0
15
+ t.integer :createdby_id, :default => 0
16
+ t.integer :updatedby_id, :default => 0
17
+ t.string :help, :default => ''
18
+
19
+ t.timestamps
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,8 @@
1
+ require 'rails/all'
2
+
3
+ module Fastui
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace Fastui
6
+
7
+ end
8
+ end
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+
3
+ module Fastui
4
+ class MModel
5
+
6
+ def initialize(model)
7
+ @model = model
8
+ end
9
+
10
+ def name
11
+ @model.to_s
12
+ end
13
+
14
+ def columns
15
+ @model.columns
16
+ end
17
+
18
+ def self.all
19
+ @@models ||= ::ActiveRecord::Base.subclasses.map {|ar| MModel.new(ar)}
20
+ end
21
+
22
+ def self.find(class_name)
23
+ all.detect {|m| m.class.to_s == class_name.to_s }
24
+ end
25
+ end
26
+ end
data/lib/fastui/tab.rb ADDED
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+
3
+ module Fastui
4
+ class Tab
5
+
6
+ @tabs ||= {}
7
+ class << self
8
+ attr_accessor :tabs
9
+ def find(name)
10
+ @tabs[name.to_s]
11
+ end
12
+ end
13
+
14
+ attr_accessor :name, :title, :entity, :readonly, :included_tab, :grid_kind, :form_kind, :members
15
+
16
+ #:opts => {members:[{:member => :title, :title => '标题' },:note,:m_tabs]}
17
+ def initialize(name,opts = {})
18
+ self.name = name
19
+ opts.each_pair do |k,v|
20
+ self.send "#{k}=", v
21
+ end
22
+ self.class.tabs[name.to_s] = self
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ module Fastui
2
+ VERSION = "0.1.2"
3
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+ require 'singleton'
3
+ module Fastui
4
+ class View
5
+ include Singleton
6
+ attr_accessor :version, :project, :copyright
7
+
8
+ def initialize
9
+ @project = 'Fastui Rapid Development Framework'
10
+ @version = 'version 0.1.0 built on ExtJS 4.2.0'
11
+ @copyright = 'Copyright 2007-2013 ChunTeng Co., Ltd.'
12
+ end
13
+
14
+
15
+ def win(name, opts = {}, &block)
16
+ Fastui::Window.new(name, opts, &block)
17
+ end
18
+
19
+ def tab(name, tab)
20
+ Fastui::Tab.new(name, tab)
21
+ end
22
+
23
+ def config(&block)
24
+ block.call(self) if block_given?
25
+ end
26
+
27
+ def find_window(name)
28
+ Fastui::Window.find(name) || {}
29
+ end
30
+ end
31
+ end
32
+
@@ -0,0 +1,43 @@
1
+ # encoding: utf-8
2
+
3
+ module Fastui
4
+ class Window
5
+
6
+ @windows ||= {}
7
+ class << self
8
+ attr_accessor :windows
9
+ def find(name)
10
+ @windows[name.to_s]
11
+ end
12
+ end
13
+
14
+ attr_accessor :name, :title, :window_kind, :tabs
15
+
16
+ #:opts => {:name => 'm_window', tabs:[:m_window,:m_tab,:m_field]}
17
+ def initialize(name, opts = {}, &block)
18
+ self.name = name
19
+ opts.each_pair do |k,v|
20
+ self.send "#{k}=", v
21
+ end
22
+ self.tabs = self.tabs || []
23
+ block.call(self) if block_given?
24
+ self.wrap_tab
25
+ self.class.windows[name.to_s] = self
26
+ end
27
+
28
+ def wrap_tab
29
+ self.tabs.each_index do |i|
30
+ tab = self.tabs[i]
31
+ unless tab.kind_of?(Fastui::Tab)
32
+ raise "not fond #{tab} ui." unless Fastui::Tab.find(tab)
33
+ self.tabs[i] = Fastui::Tab.find(tab)
34
+ end
35
+ end
36
+ end
37
+
38
+ def tab(name, opts = {})
39
+ self.tabs << (opts.blank? ? name : Fastui::Tab.new(name,opts))
40
+ end
41
+
42
+ end
43
+ end
data/lib/fastui.rb ADDED
@@ -0,0 +1,8 @@
1
+ require "fastui/tab"
2
+ require "fastui/window"
3
+ require "fastui/view"
4
+ require "fastui/engine"
5
+
6
+
7
+ module Fastui
8
+ end
@@ -0,0 +1,21 @@
1
+ Description:
2
+ The Fastui Engine has been correctly installed in your Rails application.
3
+
4
+ 1. Edit the main config files:
5
+ - config/initializers/fastui_config.rb
6
+ - config/database.yml
7
+ - config/routes.rb
8
+
9
+ 2. Launch the server:
10
+ > bundle exec rails s
11
+
12
+ 3. Open your browser:
13
+ > open localhost:8080
14
+
15
+ 4. Follow the installation wizard steps
16
+
17
+ 5. Enjoy !
18
+
19
+ Example:
20
+ ./script/generate generator fastui:install
21
+
@@ -0,0 +1,31 @@
1
+
2
+ module Fastui
3
+ class InstallGenerator < ::Rails::Generators::Base
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ desc "Fastui installation generator"
7
+
8
+ def copy_config_file
9
+ template "fastui_config.erb", "config/initializers/fastui_config.rb"
10
+ end
11
+
12
+ def copy_migrations
13
+ rake("fastui:install:migrations")
14
+ end
15
+
16
+ def insert_engine_routes
17
+ route %(
18
+ mount Fastui::Engine => '/fastui'
19
+ )
20
+ end
21
+
22
+ def remove_index_html
23
+ remove_file 'public/index.html'
24
+ end
25
+
26
+ def show_readme
27
+ readme '../USAGE'
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,77 @@
1
+ # encoding: utf-8
2
+ Fastui::View.instance.config do |conf|
3
+
4
+ #conf.project = 'Fastui Rapid Development Framework1111'
5
+ #conf.version = 'version 0.1.0 built on ExtJS 4.2.0'
6
+ #conf.copyright = 'Copyright 2007-2013 ChunTeng Co., Ltd.'
7
+
8
+ default = [
9
+ {name: 'entity_kind', title: '实体种类', datatype: 'VSingleChoice'},
10
+ {name: 'seq', title: '排序', datatype: 'VNumber'},
11
+ {name: 'is_active', title: '是否激活', datatype: 'VYesOrNo'},
12
+ {name: 'note', title: '备注', datatype: 'VTextArea'},
13
+ {name: 'help', title: '帮助', datatype: 'VTextArea', display: 'form'},
14
+ {name: 'createdbyorg_id', title: '创建组织', datatype: 'VLookup', ref: {entity: 'Fastui::MOrg'}, display: 'grid'},
15
+ {name: 'createdby_id', title: '创建人', datatype: 'VLookup', ref: {entity: 'Fastui::MPerson'}, display: 'grid'},
16
+ {name: 'updatedby_id', title: '更新人', datatype: 'VLookup', ref: {entity: 'Fastui::MPerson'}, display: 'grid'}
17
+ ]
18
+
19
+ conf.win :m_menu, title: '菜单', window_kind: 'maintain' do |w|
20
+ w.tab :m_menu, title: '菜单', entity: 'Fastui::MMenu', readonly: true, members: [
21
+ {name: 'id', title: 'ID', datatype: 'VNumber', readonly: true},
22
+ {name: 'title', title: '标题', datatype: 'VText'},
23
+ {name: 'print_text', title: '打印文本', datatype: 'VText'},
24
+ {name: 'name', title: '标识', datatype: 'VText'}
25
+ ] + default
26
+ w.tab :m_menu_item, title: '菜单项', entity: 'Fastui::MMenuItem', included_tab: 'm_menu', members: [
27
+ {name: 'id', title: 'ID', datatype: 'VNumber', readonly: true},
28
+ {name: 'title', title: '标题', datatype: 'VText'},
29
+ {name: 'print_text', title: '打印文本', datatype: 'VText'},
30
+ {name: 'name', title: '标识', datatype: 'VText'},
31
+ {name: 'm_menu_id', title: '对应菜单', datatype: 'VLookup', ref: {entity: 'Fastui::MMenu'}, default_logic: "{id:${m_menu_id},title:'${m_menu_title}'}"},
32
+ {name: 'window', title: '对应窗口', datatype: 'VText'}
33
+ ] + default
34
+ end
35
+
36
+ conf.win :m_org, title: '组织', window_kind: 'maintain' do |w|
37
+ w.tab :m_org, title: '组织', entity: 'Fastui::MOrg', grid_kind: 'VTreeGrid', members: [
38
+ {name: 'id', title: 'ID', datatype: 'VNumber', readonly: true},
39
+ {name: 'title', title: '名称', datatype: 'VTree'},
40
+ {name: 'print_text', title: '打印文本', datatype: 'VText'},
41
+ {name: 'name', title: '标识', datatype: 'VText'},
42
+ {name: 'parent_id', title: '上级组织', datatype: 'VLookup', ref: {entity: 'Fastui::MOrg'}}
43
+ ] + default
44
+ end
45
+
46
+ conf.win :m_person, title: '人员', window_kind: 'maintain' do |w|
47
+ w.tab :m_person, title: '人员', entity: 'Fastui::MPerson', members: [
48
+ {name: 'id', title: 'ID', datatype: 'VNumber', readonly: true},
49
+ {name: 'title', title: '标题', datatype: 'VText'},
50
+ {name: 'print_text', title: '打印文本', datatype: 'VText'},
51
+ {name: 'name', title: '标识', datatype: 'VText'},
52
+ {name: 'access_level', title: '访问级别', datatype: 'VSingleChoice'}
53
+ ] + default
54
+ w.tab :m_role, title: '角色', entity: 'Fastui::MRole', included_tab: 'm_person', members: [
55
+ {name: 'id', title: 'ID', datatype: 'VNumber', readonly: true},
56
+ {name: 'title', title: '标题', datatype: 'VText'},
57
+ {name: 'print_text', title: '打印文本', datatype: 'VText'},
58
+ {name: 'name', title: '标识', datatype: 'VText'}
59
+ ] + default
60
+ end
61
+
62
+ conf.win :m_list, title: '数据字典', window_kind: 'maintain' do |w|
63
+ w.tab :m_list, title: '枚举', entity: 'Fastui::MList', members: [
64
+ {name: 'id', title: 'ID', datatype: 'VNumber', readonly: true},
65
+ {name: 'title', title: '标题', datatype: 'VText'},
66
+ {name: 'print_text', title: '打印文本', datatype: 'VText'},
67
+ {name: 'name', title: '标识', datatype: 'VText'}
68
+ ] + default
69
+ w.tab :m_list_item, title: '枚举项', entity: 'Fastui::MListItem', included_tab: 'm_list', members: [
70
+ {name: 'id', title: 'ID', datatype: 'VNumber', readonly: true},
71
+ {name: 'title', title: '标题', datatype: 'VText'},
72
+ {name: 'print_text', title: '打印文本', datatype: 'VText'},
73
+ {name: 'name', title: '标识', datatype: 'VText'}
74
+ ] + default
75
+ end
76
+
77
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ #desc "Explaining what the task does"
3
+ namespace :fastui do
4
+ desc "create system_data include all task"
5
+ task :create_sys_data => :environment do
6
+ Rake::Task["db:drop"].invoke
7
+ Rake::Task["db:create"].invoke
8
+ Rake::Task["db:migrate"].invoke
9
+ Rake::Task["app:fastui:system_data"].invoke
10
+ end
11
+ end