Просмотр исходного кода

Move the delegate interface of enum selector to the public header file -- 把enum selector 的委托接口移到公共头文件里。(issue70: #14156)
Add enum selector to get data online -- 添加联机方式获取数据的enum selector (resolve: #14155)
Fix if the password is not saved when logging in, it will cause a crash when loading the detail interface —修复登录时没有保存密码,会导致detail界面加载时闪退 (resolve: #14153)

Ray Zhang 5 лет назад
Родитель
Сommit
81122fa4ca
25 измененных файлов с 1622 добавлено и 78 удалено
  1. 18 6
      RA TradeFiling/RA TradeFiling.xcodeproj/project.pbxproj
  2. BIN
      RA TradeFiling/RA TradeFiling.xcodeproj/project.xcworkspace/xcuserdata/ruizhang.xcuserdatad/UserInterfaceState.xcuserstate
  3. 383 15
      RA TradeFiling/RA TradeFiling.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 1 0
      RA TradeFiling/RA TradeFiling/DataProvider/OfflineDataProvider.h
  5. 35 0
      RA TradeFiling/RA TradeFiling/DataProvider/OfflineDataProvider.m
  6. 3 0
      RA TradeFiling/RA TradeFiling/DataProvider/OnlineDataProvider.h
  7. 24 0
      RA TradeFiling/RA TradeFiling/DataProvider/OnlineDataProvider.m
  8. 2 0
      RA TradeFiling/RA TradeFiling/DataProvider/RADataProvider.h
  9. 15 1
      RA TradeFiling/RA TradeFiling/DataProvider/RADataProvider.m
  10. 9 9
      RA TradeFiling/RA TradeFiling/Detail/DetailPageViewController.m
  11. 11 9
      RA TradeFiling/RA TradeFiling/Detail/DetailTabBarController.m
  12. 6 1
      RA TradeFiling/RA TradeFiling/FAKE_DATA/detail_isf.json
  13. 36 4
      RA TradeFiling/RA TradeFiling/FAKE_DATA/edit_isf.json
  14. 15 0
      RA TradeFiling/RA TradeFiling/FAKE_DATA/enum_cadedate.json
  15. 1 1
      RA TradeFiling/RA TradeFiling/RASingleton.h
  16. 1 1
      RA TradeFiling/RA TradeFiling/RASingleton.m
  17. 6 0
      RA TradeFiling/RA TradeFiling/Result/ResultPresenter.h
  18. 6 10
      RA TradeFiling/RA TradeFiling/Result/ResultPresenter.m
  19. 2 1
      RA TradeFiling/RA TradeFiling/config.h
  20. 102 13
      common/customUI/commoneditor/CommonEditor.storyboard
  21. 22 1
      common/customUI/commoneditor/CommonEditorViewController.m
  22. 17 0
      common/customUI/commoneditor/EnumSelectDelegate.h
  23. 54 0
      common/customUI/commoneditor/EnumSelectOnlineViewController.h
  24. 845 0
      common/customUI/commoneditor/EnumSelectOnlineViewController.m
  25. 8 6
      common/customUI/commoneditor/EnumSelectViewController.h

+ 18 - 6
RA TradeFiling/RA TradeFiling.xcodeproj/project.pbxproj

@@ -7,6 +7,9 @@
 	objects = {
 	objects = {
 
 
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
+		3C02E833264E5CB5008DA531 /* EnumSelectOnlineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C02E832264E5CB5008DA531 /* EnumSelectOnlineViewController.m */; };
+		3C02E836264E610E008DA531 /* enum_cadedate.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C02E835264E610E008DA531 /* enum_cadedate.json */; };
+		3C02E83826539642008DA531 /* wkweb.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C02E83726539642008DA531 /* wkweb.storyboard */; };
 		3C0CB336255E56BF00718A03 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C0CB335255E56BF00718A03 /* AppDelegate.m */; };
 		3C0CB336255E56BF00718A03 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C0CB335255E56BF00718A03 /* AppDelegate.m */; };
 		3C0CB339255E56BF00718A03 /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C0CB338255E56BF00718A03 /* SceneDelegate.m */; };
 		3C0CB339255E56BF00718A03 /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C0CB338255E56BF00718A03 /* SceneDelegate.m */; };
 		3C0CB33C255E56BF00718A03 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C0CB33B255E56BF00718A03 /* ViewController.m */; };
 		3C0CB33C255E56BF00718A03 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C0CB33B255E56BF00718A03 /* ViewController.m */; };
@@ -224,7 +227,6 @@
 		3C7670A325A84C3600588DB5 /* log_emanifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670A225A84C3600588DB5 /* log_emanifest.json */; };
 		3C7670A325A84C3600588DB5 /* log_emanifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670A225A84C3600588DB5 /* log_emanifest.json */; };
 		3C7670A825A84C5900588DB5 /* log_hblclose.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670A725A84C5900588DB5 /* log_hblclose.json */; };
 		3C7670A825A84C5900588DB5 /* log_hblclose.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670A725A84C5900588DB5 /* log_hblclose.json */; };
 		3C7670AD25A84C8600588DB5 /* detail_customer.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670AC25A84C8600588DB5 /* detail_customer.json */; };
 		3C7670AD25A84C8600588DB5 /* detail_customer.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670AC25A84C8600588DB5 /* detail_customer.json */; };
-		3C7670B225ABFDFF00588DB5 /* wkweb.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670B125ABFDFF00588DB5 /* wkweb.storyboard */; };
 		3C7670D825AC268300588DB5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670D625AC268300588DB5 /* Localizable.strings */; };
 		3C7670D825AC268300588DB5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670D625AC268300588DB5 /* Localizable.strings */; };
 		3C7670E125AC275700588DB5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670E325AC275700588DB5 /* Localizable.strings */; };
 		3C7670E125AC275700588DB5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670E325AC275700588DB5 /* Localizable.strings */; };
 		3C7670FE25B6ABE900588DB5 /* About.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670FD25B6ABE900588DB5 /* About.storyboard */; };
 		3C7670FE25B6ABE900588DB5 /* About.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C7670FD25B6ABE900588DB5 /* About.storyboard */; };
@@ -281,6 +283,11 @@
 /* End PBXContainerItemProxy section */
 /* End PBXContainerItemProxy section */
 
 
 /* Begin PBXFileReference section */
 /* Begin PBXFileReference section */
+		3C02E831264E5CB5008DA531 /* EnumSelectOnlineViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EnumSelectOnlineViewController.h; sourceTree = "<group>"; };
+		3C02E832264E5CB5008DA531 /* EnumSelectOnlineViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EnumSelectOnlineViewController.m; sourceTree = "<group>"; };
+		3C02E834264E5FAC008DA531 /* EnumSelectDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EnumSelectDelegate.h; path = ../../common/customUI/commoneditor/EnumSelectDelegate.h; sourceTree = "<group>"; };
+		3C02E835264E610E008DA531 /* enum_cadedate.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = enum_cadedate.json; sourceTree = "<group>"; };
+		3C02E83726539642008DA531 /* wkweb.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = wkweb.storyboard; path = "../../common/WK PDF+Web/wkweb.storyboard"; sourceTree = "<group>"; };
 		3C0CB331255E56BF00718A03 /* RA TradeFiling.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RA TradeFiling.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		3C0CB331255E56BF00718A03 /* RA TradeFiling.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RA TradeFiling.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		3C0CB334255E56BF00718A03 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		3C0CB334255E56BF00718A03 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		3C0CB335255E56BF00718A03 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
 		3C0CB335255E56BF00718A03 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -640,7 +647,6 @@
 		3C7670A225A84C3600588DB5 /* log_emanifest.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = log_emanifest.json; sourceTree = "<group>"; };
 		3C7670A225A84C3600588DB5 /* log_emanifest.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = log_emanifest.json; sourceTree = "<group>"; };
 		3C7670A725A84C5900588DB5 /* log_hblclose.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = log_hblclose.json; sourceTree = "<group>"; };
 		3C7670A725A84C5900588DB5 /* log_hblclose.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = log_hblclose.json; sourceTree = "<group>"; };
 		3C7670AC25A84C8600588DB5 /* detail_customer.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = detail_customer.json; sourceTree = "<group>"; };
 		3C7670AC25A84C8600588DB5 /* detail_customer.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = detail_customer.json; sourceTree = "<group>"; };
-		3C7670B125ABFDFF00588DB5 /* wkweb.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = wkweb.storyboard; path = "../../../../KERRY/iOS/common/WK PDF+Web/wkweb.storyboard"; sourceTree = "<group>"; };
 		3C7670B725AC254B00588DB5 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = "<group>"; };
 		3C7670B725AC254B00588DB5 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = "<group>"; };
 		3C7670B825AC254C00588DB5 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = "<group>"; };
 		3C7670B825AC254C00588DB5 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = "<group>"; };
 		3C7670D725AC268300588DB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
 		3C7670D725AC268300588DB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -1355,6 +1361,7 @@
 				3C833CB725C94289006F9BEF /* detail_emanifest.json */,
 				3C833CB725C94289006F9BEF /* detail_emanifest.json */,
 				3C5FBF3A2637E83300130F65 /* edit_isf.json */,
 				3C5FBF3A2637E83300130F65 /* edit_isf.json */,
 				3C5FBF62263BAD3A00130F65 /* edit_party.json */,
 				3C5FBF62263BAD3A00130F65 /* edit_party.json */,
+				3C02E835264E610E008DA531 /* enum_cadedate.json */,
 			);
 			);
 			path = FAKE_DATA;
 			path = FAKE_DATA;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -1438,8 +1445,11 @@
 				3C2C27B92636657C009460F5 /* EnumSelectAndSortViewController.m */,
 				3C2C27B92636657C009460F5 /* EnumSelectAndSortViewController.m */,
 				3C2C27AC2636652F009460F5 /* EnumSelectorCell.h */,
 				3C2C27AC2636652F009460F5 /* EnumSelectorCell.h */,
 				3C2C27AD2636652F009460F5 /* EnumSelectorCell.m */,
 				3C2C27AD2636652F009460F5 /* EnumSelectorCell.m */,
+				3C02E834264E5FAC008DA531 /* EnumSelectDelegate.h */,
 				3C2C27AE2636652F009460F5 /* EnumSelectViewController.h */,
 				3C2C27AE2636652F009460F5 /* EnumSelectViewController.h */,
 				3C2C27AF2636652F009460F5 /* EnumSelectViewController.m */,
 				3C2C27AF2636652F009460F5 /* EnumSelectViewController.m */,
+				3C02E831264E5CB5008DA531 /* EnumSelectOnlineViewController.h */,
+				3C02E832264E5CB5008DA531 /* EnumSelectOnlineViewController.m */,
 				3C2C279E263663FA009460F5 /* CustomIOSAlertView.h */,
 				3C2C279E263663FA009460F5 /* CustomIOSAlertView.h */,
 				3C2C279D263663FA009460F5 /* CustomIOSAlertView.m */,
 				3C2C279D263663FA009460F5 /* CustomIOSAlertView.m */,
 				3C2C2797263663B1009460F5 /* StrikethroughLabel.h */,
 				3C2C2797263663B1009460F5 /* StrikethroughLabel.h */,
@@ -1487,7 +1497,7 @@
 				3C7F37512564C0690033BF82 /* RAEmptyView.m */,
 				3C7F37512564C0690033BF82 /* RAEmptyView.m */,
 				3C5F8D52257F53F300CFD26A /* UIView+Toast.h */,
 				3C5F8D52257F53F300CFD26A /* UIView+Toast.h */,
 				3C5F8D53257F53F300CFD26A /* UIView+Toast.m */,
 				3C5F8D53257F53F300CFD26A /* UIView+Toast.m */,
-				3C7670B125ABFDFF00588DB5 /* wkweb.storyboard */,
+				3C02E83726539642008DA531 /* wkweb.storyboard */,
 				3C92A176264677A700344B9B /* common_const.h */,
 				3C92A176264677A700344B9B /* common_const.h */,
 			);
 			);
 			name = Common;
 			name = Common;
@@ -1653,7 +1663,6 @@
 				3C2C26D726355728009460F5 /* Phone_Banner_Item_Cell.xib in Resources */,
 				3C2C26D726355728009460F5 /* Phone_Banner_Item_Cell.xib in Resources */,
 				3C5FBF40263A4CF100130F65 /* CommonEditor.storyboard in Resources */,
 				3C5FBF40263A4CF100130F65 /* CommonEditor.storyboard in Resources */,
 				3C76706F25A2F4F000588DB5 /* log_isf.json in Resources */,
 				3C76706F25A2F4F000588DB5 /* log_isf.json in Resources */,
-				3C7670B225ABFDFF00588DB5 /* wkweb.storyboard in Resources */,
 				3C0CB399255E81BD00718A03 /* Home.storyboard in Resources */,
 				3C0CB399255E81BD00718A03 /* Home.storyboard in Resources */,
 				3C7670A325A84C3600588DB5 /* log_emanifest.json in Resources */,
 				3C7670A325A84C3600588DB5 /* log_emanifest.json in Resources */,
 				3C76709E25A84C1E00588DB5 /* log_aci.json in Resources */,
 				3C76709E25A84C1E00588DB5 /* log_aci.json in Resources */,
@@ -1693,6 +1702,7 @@
 				3C76711C25B7C29800588DB5 /* SignUp.storyboard in Resources */,
 				3C76711C25B7C29800588DB5 /* SignUp.storyboard in Resources */,
 				3C5F8D15257A265600CFD26A /* result_isf.json in Resources */,
 				3C5F8D15257A265600CFD26A /* result_isf.json in Resources */,
 				3C5F8C9D256E3A5900CFD26A /* CollectionViewButtonCell.xib in Resources */,
 				3C5F8C9D256E3A5900CFD26A /* CollectionViewButtonCell.xib in Resources */,
+				3C02E836264E610E008DA531 /* enum_cadedate.json in Resources */,
 				3C452F9925BE97430035AF5F /* HomeDashACEM1CellE.xib in Resources */,
 				3C452F9925BE97430035AF5F /* HomeDashACEM1CellE.xib in Resources */,
 				3C2C276D26355A50009460F5 /* ytplayer.html in Resources */,
 				3C2C276D26355A50009460F5 /* ytplayer.html in Resources */,
 				3C0CB341255E56BF00718A03 /* Assets.xcassets in Resources */,
 				3C0CB341255E56BF00718A03 /* Assets.xcassets in Resources */,
@@ -1722,6 +1732,7 @@
 				3C452FA925BE98410035AF5F /* HomeDasheManifestCellE.xib in Resources */,
 				3C452FA925BE98410035AF5F /* HomeDasheManifestCellE.xib in Resources */,
 				3C2C27A826366464009460F5 /* default_appearance.json in Resources */,
 				3C2C27A826366464009460F5 /* default_appearance.json in Resources */,
 				3C7670392595BE2A00588DB5 /* detail.json in Resources */,
 				3C7670392595BE2A00588DB5 /* detail.json in Resources */,
+				3C02E83826539642008DA531 /* wkweb.storyboard in Resources */,
 				3C833CD225CBF10B006F9BEF /* fake_export.pdf in Resources */,
 				3C833CD225CBF10B006F9BEF /* fake_export.pdf in Resources */,
 				3C0CB3AF255E821500718A03 /* My.storyboard in Resources */,
 				3C0CB3AF255E821500718A03 /* My.storyboard in Resources */,
 				3C833CB825C94289006F9BEF /* detail_emanifest.json in Resources */,
 				3C833CB825C94289006F9BEF /* detail_emanifest.json in Resources */,
@@ -1897,6 +1908,7 @@
 				3C2C27E6263666F2009460F5 /* PhotoPreviewCell.m in Sources */,
 				3C2C27E6263666F2009460F5 /* PhotoPreviewCell.m in Sources */,
 				3C2C2799263663B1009460F5 /* StrikethroughLabel.m in Sources */,
 				3C2C2799263663B1009460F5 /* StrikethroughLabel.m in Sources */,
 				3C452F9825BE97430035AF5F /* HomeDashACEM1CellE.m in Sources */,
 				3C452F9825BE97430035AF5F /* HomeDashACEM1CellE.m in Sources */,
+				3C02E833264E5CB5008DA531 /* EnumSelectOnlineViewController.m in Sources */,
 				3C2C26EC2635578F009460F5 /* CommonEditorCellAction.m in Sources */,
 				3C2C26EC2635578F009460F5 /* CommonEditorCellAction.m in Sources */,
 				3C76708825A6DD7400588DB5 /* ChangePasswordViewController.m in Sources */,
 				3C76708825A6DD7400588DB5 /* ChangePasswordViewController.m in Sources */,
 				3C2C274726355996009460F5 /* CommonEditorCellTextView.m in Sources */,
 				3C2C274726355996009460F5 /* CommonEditorCellTextView.m in Sources */,
@@ -2101,7 +2113,7 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_STYLE = Automatic;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 48586;
+				CURRENT_PROJECT_VERSION = 48590;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				INFOPLIST_FILE = "RA TradeFiling/Info.plist";
 				INFOPLIST_FILE = "RA TradeFiling/Info.plist";
@@ -2122,7 +2134,7 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_STYLE = Automatic;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 48586;
+				CURRENT_PROJECT_VERSION = 48590;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				GCC_OPTIMIZATION_LEVEL = s;
 				GCC_OPTIMIZATION_LEVEL = s;
 				INFOPLIST_FILE = "RA TradeFiling/Info.plist";
 				INFOPLIST_FILE = "RA TradeFiling/Info.plist";

BIN
RA TradeFiling/RA TradeFiling.xcodeproj/project.xcworkspace/xcuserdata/ruizhang.xcuserdatad/UserInterfaceState.xcuserstate


+ 383 - 15
RA TradeFiling/RA TradeFiling.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -30,8 +30,8 @@
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "4812"
-            endingLineNumber = "4812"
+            startingLineNumber = "4833"
+            endingLineNumber = "4833"
             landmarkName = "-tableView:willSelectRowAtIndexPath:"
             landmarkName = "-tableView:willSelectRowAtIndexPath:"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
@@ -46,8 +46,8 @@
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "5184"
-            endingLineNumber = "5184"
+            startingLineNumber = "5205"
+            endingLineNumber = "5205"
             landmarkName = "-MPValueChanged:indexPath:"
             landmarkName = "-MPValueChanged:indexPath:"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
@@ -62,8 +62,8 @@
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "5183"
-            endingLineNumber = "5183"
+            startingLineNumber = "5204"
+            endingLineNumber = "5204"
             landmarkName = "-MPValueChanged:indexPath:"
             landmarkName = "-MPValueChanged:indexPath:"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
@@ -78,8 +78,8 @@
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "4839"
-            endingLineNumber = "4839"
+            startingLineNumber = "4860"
+            endingLineNumber = "4860"
             landmarkName = "-tableView:willSelectRowAtIndexPath:"
             landmarkName = "-tableView:willSelectRowAtIndexPath:"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
@@ -110,8 +110,8 @@
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "5267"
-            endingLineNumber = "5267"
+            startingLineNumber = "5288"
+            endingLineNumber = "5288"
             landmarkName = "-DateTimeValueChanged:indexPath:"
             landmarkName = "-DateTimeValueChanged:indexPath:"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
@@ -126,8 +126,8 @@
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "5297"
-            endingLineNumber = "5297"
+            startingLineNumber = "5318"
+            endingLineNumber = "5318"
             landmarkName = "-DateTimeValueChanged:indexPath:"
             landmarkName = "-DateTimeValueChanged:indexPath:"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
@@ -142,8 +142,8 @@
             filePath = "RA TradeFiling/Detail/DetailTabBarController.m"
             filePath = "RA TradeFiling/Detail/DetailTabBarController.m"
             startingColumnNumber = "9223372036854775807"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "611"
-            endingLineNumber = "611"
+            startingLineNumber = "613"
+            endingLineNumber = "613"
             landmarkName = "-menuClick:"
             landmarkName = "-menuClick:"
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
@@ -152,7 +152,7 @@
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
          <BreakpointContent
             uuid = "AF709BC0-E717-47F9-BFCA-E74074E457EB"
             uuid = "AF709BC0-E717-47F9-BFCA-E74074E457EB"
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             continueAfterRunningActions = "No"
             filePath = "RA TradeFiling/Login/LoginViewController.m"
             filePath = "RA TradeFiling/Login/LoginViewController.m"
@@ -340,5 +340,373 @@
             landmarkType = "7">
             landmarkType = "7">
          </BreakpointContent>
          </BreakpointContent>
       </BreakpointProxy>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "A253AB29-58D7-4E68-8107-418AC4AA79F3"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/DataProvider/RADataProvider.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "181"
+            endingLineNumber = "181"
+            landmarkName = "+request_editor:params:completionHandler:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "8901511E-CF52-46F2-970A-38935D02E43E"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "../common/customUI/commoneditor/CommonEditorAutoCompleteView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "80"
+            endingLineNumber = "80"
+            landmarkName = "-searchAutocomplete:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "C821A1DC-95B9-42F2-B3E0-71AE13585A1D"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "6175"
+            endingLineNumber = "6175"
+            landmarkName = "-sync_loadCadidate:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "53C46A4A-043E-4603-AD5F-8F48AEA08580"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "../common/customUI/commoneditor/CommonEditorAutoCompleteView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "136"
+            endingLineNumber = "136"
+            landmarkName = "-tableView:cellForRowAtIndexPath:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "0D0E2933-C49E-4558-88B4-517B038F85FE"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "../common/customUI/commoneditor/CommonEditorAutoCompleteView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "89"
+            endingLineNumber = "89"
+            landmarkName = "-searchAutocomplete:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "34E2B147-4E35-4E50-8937-31B49589C101"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "../common/customUI/commoneditor/CommonEditorViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "4766"
+            endingLineNumber = "4766"
+            landmarkName = "-tableView:willSelectRowAtIndexPath:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "7D222027-E792-43FA-A46F-D274858F0070"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/DataProvider/RADataProvider.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "52"
+            endingLineNumber = "52"
+            landmarkName = "+Login:password:completionHandler:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "A7EB79BC-B10A-4C9A-8B85-A4E9FA92648C"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/DataProvider/RADataProvider.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "53"
+            endingLineNumber = "53"
+            landmarkName = "+Login:password:completionHandler:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "CFD3FB1E-7104-441D-8AFD-04E94134E2CC"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/EnumSelectOnlineViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "615"
+            endingLineNumber = "615"
+            landmarkName = "-loadData:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "669247D3-AAF5-42E5-BAF9-802352C0EC0B"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/DataProvider/OfflineDataProvider.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "135"
+            endingLineNumber = "135"
+            landmarkName = "+request_cadedate:"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "669247D3-AAF5-42E5-BAF9-802352C0EC0B - b76fbf403e1a7eaa"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__40+[OfflineDataProvider request_cadedate:]_block_invoke"
+                  moduleName = "RA TradeFiling"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/ruizhang/Documents/CODE_IOS/ERPSuiteIOS/RA%20TradeFiling/RA%20TradeFiling/DataProvider/OfflineDataProvider.m"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "135"
+                  endingLineNumber = "135"
+                  offsetFromSymbolStart = "523">
+               </Location>
+               <Location
+                  uuid = "669247D3-AAF5-42E5-BAF9-802352C0EC0B - 5f914d5e00bd653e"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__40+[OfflineDataProvider request_cadedate:]_block_invoke_3"
+                  moduleName = "RA TradeFiling"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/ruizhang/Documents/CODE_IOS/ERPSuiteIOS/RA%20TradeFiling/RA%20TradeFiling/DataProvider/OfflineDataProvider.m"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "135"
+                  endingLineNumber = "135"
+                  offsetFromSymbolStart = "12">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "2989F167-ED6F-4B68-8B1C-62EB788C3A74"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/DataProvider/OfflineDataProvider.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "132"
+            endingLineNumber = "132"
+            landmarkName = "+request_cadedate:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "576F12C0-A785-4DD3-B0FA-23DDB07A79CD"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/EnumSelectOnlineViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "648"
+            endingLineNumber = "648"
+            landmarkName = "-loadData:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "1935C10D-7900-4781-B17F-62C3756C6FA0"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/EnumSelectOnlineViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "204"
+            endingLineNumber = "204"
+            landmarkName = "-tableView:numberOfRowsInSection:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "4D8A0793-8D58-424D-A4F0-A8CE7DE5354A"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/EnumSelectOnlineViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "336"
+            endingLineNumber = "336"
+            landmarkName = "-tableView:cellForRowAtIndexPath:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "60EF7975-6928-4FB1-834C-83FE15045683"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/DataProvider/OnlineDataProvider.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "328"
+            endingLineNumber = "328"
+            landmarkName = "+request_interface:parameters:err_record_url:completionHandler:retry:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "C8983BC0-8C89-4BE4-B8DA-E09F85968453"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/DataProvider/OnlineDataProvider.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "307"
+            endingLineNumber = "307"
+            landmarkName = "+request_interface:parameters:err_record_url:completionHandler:retry:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "4B216508-FDBB-40EB-8F9D-AC783843D9FE"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/Detail/DetailPageViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "406"
+            endingLineNumber = "406"
+            landmarkName = "-loadpage"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "46B085DC-E727-42D9-81F0-7841927ECC9E"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/Detail/DetailPageViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "405"
+            endingLineNumber = "405"
+            landmarkName = "-loadpage"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "32E35176-0D60-41BB-9C3E-CE008D0D810A"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/Login/LoginViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "320"
+            endingLineNumber = "320"
+            landmarkName = "-viewWillAppear:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "396F591F-ED7B-4B15-923C-BB9613FB1427"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/Login/LoginViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "259"
+            endingLineNumber = "259"
+            landmarkName = "-checkboxClick:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "6D757B44-3F19-4378-AE89-C106D78C0A9F"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "RA TradeFiling/RASingleton.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "81"
+            endingLineNumber = "81"
+            landmarkName = "-saveUserInfo"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
    </Breakpoints>
 </Bucket>
 </Bucket>

+ 1 - 0
RA TradeFiling/RA TradeFiling/DataProvider/OfflineDataProvider.h

@@ -24,6 +24,7 @@ typedef void(^resultHandler)(NSMutableDictionary *result);
 + (NSMutableDictionary *)request_result: (NSMutableDictionary *) params;
 + (NSMutableDictionary *)request_result: (NSMutableDictionary *) params;
 + (NSMutableDictionary*) request_detail: (NSMutableDictionary *) params;
 + (NSMutableDictionary*) request_detail: (NSMutableDictionary *) params;
 + (void)request_fastdownload:(NSMutableDictionary *)params url:(NSString *)url completionHandler:(resultHandler)result;
 + (void)request_fastdownload:(NSMutableDictionary *)params url:(NSString *)url completionHandler:(resultHandler)result;
++ (void)request_cadedate: (resultHandler)result;
 
 
 + (void)request_editor: (NSMutableDictionary *) params completionHandler:(resultHandler)result;
 + (void)request_editor: (NSMutableDictionary *) params completionHandler:(resultHandler)result;
 +(void)request_save_editor:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 +(void)request_save_editor:(NSMutableDictionary*)params completionHandler:(resultHandler)result;

+ 35 - 0
RA TradeFiling/RA TradeFiling/DataProvider/OfflineDataProvider.m

@@ -109,6 +109,41 @@
     
     
 
 
 }
 }
+
++ (void)request_cadedate: (resultHandler)result
+{
+    dispatch_async(dispatch_get_global_queue(0, 0), ^{
+        sleep(0);
+        NSData* json =[NSData dataWithContentsOfFile:[[NSBundle mainBundle]  pathForResource:@"enum_cadedate" ofType:@"json" ]];
+        
+        
+        if(json==nil)
+        {
+         
+            
+            
+            
+            dispatch_async(dispatch_get_main_queue(), ^{
+                result( [@{@"result":@2} mutableCopy]);
+            });
+            
+        }
+        NSError *error=nil;
+        NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error] ;
+        
+        
+        dispatch_async(dispatch_get_main_queue(), ^{
+            result( [dict mutableCopy]);
+        });
+        
+        
+    });
+    
+    
+    
+
+}
+
 +(void)request_save_editor:(NSMutableDictionary*)params completionHandler:(resultHandler)result
 +(void)request_save_editor:(NSMutableDictionary*)params completionHandler:(resultHandler)result
 {
 {
     dispatch_async(dispatch_get_global_queue(0, 0), ^{
     dispatch_async(dispatch_get_global_queue(0, 0), ^{

+ 3 - 0
RA TradeFiling/RA TradeFiling/DataProvider/OnlineDataProvider.h

@@ -22,6 +22,9 @@ NS_ASSUME_NONNULL_BEGIN
 + (void)request_fastdownload:(NSMutableDictionary *)params url:(NSString *)url completionHandler:(resultHandler)result;
 + (void)request_fastdownload:(NSMutableDictionary *)params url:(NSString *)url completionHandler:(resultHandler)result;
 +(void)request_save_editor:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 +(void)request_save_editor:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 +(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result;
 +(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result;
+
+
++ (void)request_cadedate:(NSMutableDictionary *)params completionHandler:(resultHandler)result;
 //+ (void)request_savepanel: (NSString*)panel_setting completionHandler:(resultHandler)result;
 //+ (void)request_savepanel: (NSString*)panel_setting completionHandler:(resultHandler)result;
 @end
 @end
 
 

+ 24 - 0
RA TradeFiling/RA TradeFiling/DataProvider/OnlineDataProvider.m

@@ -158,6 +158,30 @@
 //    
 //    
 }
 }
 
 
+
++ (void)request_cadedate:(NSMutableDictionary *)params completionHandler:(resultHandler)result
+{
+    
+    params[@"action"]=@"cadedate";
+    [self request_interface:URL_CADEDATE parameters:params err_record_url:nil completionHandler:result retry:0];
+    
+//    return [self mockResult:params];
+//
+//    params[@"action"]=@"handset_search";
+//
+//    [self request_interface:URL_SEARCH_RESULT parameters:params err_record_url:nil completionHandler:^(NSMutableDictionary *resultjson) {
+//            NSMutableDictionary *resultDic = resultjson;
+//
+//            // detail data in local database
+//            NSString *module_name = [params objectForKey:@"module_name"];
+//            AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
+//            NSArray *actions = [ApexMobileDB getActionsForFunction:module_name withUser:appDelegate.user];
+//            [resultDic setValue:actions forKey:@"actions"];
+//        result(resultDic);
+//    } retry:0];
+//
+}
+
 +(void) request_detail: (NSMutableDictionary *) params completionHandler:(resultHandler)result
 +(void) request_detail: (NSMutableDictionary *) params completionHandler:(resultHandler)result
 {
 {
     [self request_interface:URL_REQUEST_DETAIL parameters:params err_record_url:nil completionHandler:result retry:0];
     [self request_interface:URL_REQUEST_DETAIL parameters:params err_record_url:nil completionHandler:result retry:0];

+ 2 - 0
RA TradeFiling/RA TradeFiling/DataProvider/RADataProvider.h

@@ -28,6 +28,8 @@
 + (void)SavePanel:(NSString*)panel_setting completionHandler:(resultHandler)result;
 + (void)SavePanel:(NSString*)panel_setting completionHandler:(resultHandler)result;
 + (void)Signup : (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result;
 + (void)Signup : (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result;
 
 
++ (void)GetCadedate:(NSMutableDictionary *)params completionHandler:(resultHandler)result;
+
 
 
 +(void)request_editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 +(void)request_editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 +(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result;
 +(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result;

+ 15 - 1
RA TradeFiling/RA TradeFiling/DataProvider/RADataProvider.m

@@ -50,7 +50,7 @@
 + (void)Login: (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result
 + (void)Login: (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result
 {
 {
 //    bool boffline = RASingleton.sharedInstance.offline;
 //    bool boffline = RASingleton.sharedInstance.offline;
-    if(fake_data&& false)
+    if(fake_data)
     {
     {
         result([OfflineDataProvider request_login]);
         result([OfflineDataProvider request_login]);
     }
     }
@@ -148,6 +148,20 @@
     }
     }
 }
 }
 
 
+
++ (void)GetCadedate:(NSMutableDictionary *)params completionHandler:(resultHandler)result
+{
+    if(fake_data)
+    {
+        [OfflineDataProvider request_cadedate:result];
+    }
+    else
+    {
+        [OnlineDataProvider request_cadedate:params completionHandler:result];
+        
+    }
+}
+
 + (void) TabDetail: (NSMutableDictionary *) params completionHandler:(resultHandler)result
 + (void) TabDetail: (NSMutableDictionary *) params completionHandler:(resultHandler)result
 {
 {
     if(fake_data)
     if(fake_data)

+ 9 - 9
RA TradeFiling/RA TradeFiling/Detail/DetailPageViewController.m

@@ -401,15 +401,15 @@
             }
             }
             [UIView commitAnimations];
             [UIView commitAnimations];
             
             
-            NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
-            bool autologin =[defaults boolForKey:@"autologin"];
-            if(!autologin)
-            {
-                TabBarController * viewController =[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"LoginTabBar"];
-                [self presentViewController:viewController animated:YES completion:^{
-                    
-                }];
-            }
+//            NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+//            bool autologin =[defaults boolForKey:@"autologin"];
+//            if(!autologin)
+//            {
+//                TabBarController * viewController =[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"LoginTabBar"];
+//                [self presentViewController:viewController animated:YES completion:^{
+//                    
+//                }];
+//            }
             // 设置默认选中第一个Container
             // 设置默认选中第一个Container
             for (NSInteger i = 0; i < self.content.segments.count; i++) {
             for (NSInteger i = 0; i < self.content.segments.count; i++) {
                 
                 

+ 11 - 9
RA TradeFiling/RA TradeFiling/Detail/DetailTabBarController.m

@@ -179,7 +179,7 @@
     }
     }
     return self;
     return self;
 }
 }
--(void)editDetail:(UIBarButtonItem*)sender
+-(void)editDetail:(NSMutableDictionary*)params
 {
 {
     TFEditorViewController *vc = [[UIStoryboard storyboardWithName:@"TFEditor" bundle:nil] instantiateViewControllerWithIdentifier:@"TFEditorViewController"];
     TFEditorViewController *vc = [[UIStoryboard storyboardWithName:@"TFEditor" bundle:nil] instantiateViewControllerWithIdentifier:@"TFEditorViewController"];
     
     
@@ -188,9 +188,9 @@
     vc.request_url=URL_EDIT;
     vc.request_url=URL_EDIT;
     
     
     
     
-    vc.params = [NSMutableDictionary dictionary];
-    vc.params[@"action"] = @"edit";
-    vc.params[@"sub_type"] = self.function_name;
+    vc.params = params;
+//    vc.params[@"action"] = @"edit";
+//    vc.params[@"sub_type"] = self.function_name;
     //                NSString *path = [[NSBundle mainBundle] pathForResource:@"search_ui.json" ofType:nil];
     //                NSString *path = [[NSBundle mainBundle] pathForResource:@"search_ui.json" ofType:nil];
     //                NSData *data = [NSData dataWithContentsOfFile:path];
     //                NSData *data = [NSData dataWithContentsOfFile:path];
     //                vc.content_data_download = [[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil] mutableCopy];
     //                vc.content_data_download = [[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil] mutableCopy];
@@ -605,11 +605,13 @@
                 if([item[@"type"] isEqualToString:@"quickview"])
                 if([item[@"type"] isEqualToString:@"quickview"])
                 {
                 {
                 [pageVC showDocument:item[@"url"]];
                 [pageVC showDocument:item[@"url"]];
-                }else
-                    if([item[@"type"] isEqualToString:@"editor"])
-                    {
-                        [weakSelf editDetail:nil];;
-                    }
+                }
+                else
+                if([item[@"type"] isEqualToString:@"editor"])
+                {
+                    
+                        [weakSelf editDetail:[item[@"params"] mutableCopy]];
+                }
                 
                 
             }];
             }];
             
             

+ 6 - 1
RA TradeFiling/RA TradeFiling/FAKE_DATA/detail_isf.json

@@ -134,7 +134,12 @@
   "page_menu": [
   "page_menu": [
     {
     {
       "type": "editor",
       "type": "editor",
-      "title": "Edit"
+      "title": "Edit",
+      "params":{
+          "id":"123456",
+          "action":"editor",
+          "sub_type":"isf"
+      }
     }
     }
   ],
   ],
   "count": 4
   "count": 4

+ 36 - 4
RA TradeFiling/RA TradeFiling/FAKE_DATA/edit_isf.json

@@ -2,21 +2,30 @@
   "menu": [
   "menu": [
     {
     {
       "name": "save",
       "name": "save",
-      "title": "SAVE"
+      "title": "SAVE",
+      "url": "",
+      "params": {
+        "action": ""
+      }
     },
     },
     {
     {
       "name": "save&submit",
       "name": "save&submit",
-      "title": "SAVE & SUBMIT"
+      "title": "SAVE & SUBMIT",
+      "url": "",
+      "params": {
+        "action": ""
+      }
     }
     }
   ],
   ],
   "result": 2,
   "result": 2,
   "section_count": 3,
   "section_count": 3,
   "title": "DEMO ORDER DETAIL",
   "title": "DEMO ORDER DETAIL",
   "section_0": {
   "section_0": {
-    "count": 8,
+    "count": 10,
     "title": "GENERAL INFORMATION",
     "title": "GENERAL INFORMATION",
     "item_0": {
     "item_0": {
       "control": "edit",
       "control": "edit",
+      "autocomplete":true,
       "value": "DNCYQDFDAL214088",
       "value": "DNCYQDFDAL214088",
       "name": "bol",
       "name": "bol",
       "aname": "Bill Of Lading",
       "aname": "Bill Of Lading",
@@ -94,7 +103,8 @@
       "value": "23-235341400",
       "value": "23-235341400",
       "name": "isfbondholder",
       "name": "isfbondholder",
       "aname": "ISF-BondHolder",
       "aname": "ISF-BondHolder",
-      "required": "true"
+      "required": "true",
+      "disable": true
     },
     },
     "item_6": {
     "item_6": {
       "control": "enum",
       "control": "enum",
@@ -132,6 +142,28 @@
       "control": "datepicker",
       "control": "datepicker",
       "aname": "ETA",
       "aname": "ETA",
       "name": "eta"
       "name": "eta"
+    },
+    "item_8": {
+      "control": "text",
+      "name": "customer_zipcode",
+      "value": "94560",
+      "aname": "Zipcode"
+    },
+    "item_9": {
+      "control": "enum",
+      "online": "true",
+      "name": "abc",
+      "cadedate": {
+        "count": 1, 
+        "val_0": {
+          "check": 1,
+          "value": "Ocean Bill of Lading",
+          "value_id": 11
+        }
+      },
+      "required": "true",
+      "single_select": "true",
+      "aname": "Test Online Enum"
     }
     }
   },
   },
   "section_1": {
   "section_1": {

+ 15 - 0
RA TradeFiling/RA TradeFiling/FAKE_DATA/enum_cadedate.json

@@ -0,0 +1,15 @@
+{
+    "title":"test online enum title",
+    "result":2,
+  "count": 2,
+  "val_1": {
+    "check": 0,
+    "value": "House Bill of Lading",
+    "value_id": 10
+  },
+  "val_0": {
+    "check": 1,
+    "value": "Ocean Bill of Lading",
+    "value_id": 11
+  }
+}

+ 1 - 1
RA TradeFiling/RA TradeFiling/RASingleton.h

@@ -61,7 +61,7 @@ typedef enum {
 - (void)login:(NSString *)user password:(NSString *)password firstName:(NSString *)firstName companyList:(NSArray*) companylist functions:(NSDictionary*)function_panel active:(bool) active;
 - (void)login:(NSString *)user password:(NSString *)password firstName:(NSString *)firstName companyList:(NSArray*) companylist functions:(NSDictionary*)function_panel active:(bool) active;
 - (void)changePassword:(NSString *)newpassword ;
 - (void)changePassword:(NSString *)newpassword ;
 
 
-- (BOOL)autoLogin;
+//- (BOOL)autoLogin;
 
 
 - (void)logout;
 - (void)logout;
 
 

+ 1 - 1
RA TradeFiling/RA TradeFiling/RASingleton.m

@@ -83,7 +83,7 @@ static RASingleton *singleton;
         [defaults setValue:self.encryptUser forKey:@"user"];
         [defaults setValue:self.encryptUser forKey:@"user"];
         [defaults setValue:self.encryptPassword forKey:@"password"];
         [defaults setValue:self.encryptPassword forKey:@"password"];
 //        [defaults setObject:self.firstName forKey:@"firstName"];
 //        [defaults setObject:self.firstName forKey:@"firstName"];
-        [defaults setBool:TRUE forKey:@"autologin"];
+//        [defaults setBool:TRUE forKey:@"autologin"];
         }
         }
         [defaults synchronize];
         [defaults synchronize];
     }
     }

+ 6 - 0
RA TradeFiling/RA TradeFiling/Result/ResultPresenter.h

@@ -9,6 +9,12 @@
 #import <Foundation/Foundation.h>
 #import <Foundation/Foundation.h>
 
 
 FOUNDATION_EXTERN const NSUInteger ResultMaxDispalyAdditionCount;
 FOUNDATION_EXTERN const NSUInteger ResultMaxDispalyAdditionCount;
+typedef NS_ENUM(NSUInteger, RAResultFetchDataType) {
+    RAResultFetchDataTypeInitial,
+    RAResultFetchDataTypeRefresh,
+    RAResultFetchDataTypeLoadMore
+};
+
 
 
 @protocol ResultProtocol;
 @protocol ResultProtocol;
 @class ResultBaseModel, ResultMenuItem;
 @class ResultBaseModel, ResultMenuItem;

+ 6 - 10
RA TradeFiling/RA TradeFiling/Result/ResultPresenter.m

@@ -24,11 +24,7 @@
 #import "ResultACEM1Model.h"
 #import "ResultACEM1Model.h"
 #import "ResultCustomerModel.h"
 #import "ResultCustomerModel.h"
 #import "ResultISFModel.h"
 #import "ResultISFModel.h"
-typedef NS_ENUM(NSUInteger, ApexResultFetchDataType) {
-    ApexResultFetchDataTypeInitial,
-    ApexResultFetchDataTypeRefresh,
-    ApexResultFetchDataTypeLoadMore
-};
+
 
 
 const NSUInteger ResultMaxDispalyAdditionCount = 3;
 const NSUInteger ResultMaxDispalyAdditionCount = 3;
 static const NSInteger detal = 20;
 static const NSInteger detal = 20;
@@ -104,7 +100,7 @@ static const NSInteger detal = 20;
     });
     });
 }
 }
 
 
-- (void)loadData:(ApexResultFetchDataType)option {
+- (void)loadData:(RAResultFetchDataType)option {
     
     
     NSInteger offset = self.offset;
     NSInteger offset = self.offset;
     NSString *displayFields = self.displayFields;
     NSString *displayFields = self.displayFields;
@@ -136,7 +132,7 @@ static const NSInteger detal = 20;
             if (resultcode == RESULT_TRUE) {
             if (resultcode == RESULT_TRUE) {
                 
                 
                 NSMutableArray *modelsArr = [NSMutableArray array];
                 NSMutableArray *modelsArr = [NSMutableArray array];
-                if (option == ApexResultFetchDataTypeLoadMore && strongSelf.dataArray != nil && strongSelf.dataArray.count > 0) {
+                if (option ==     RAResultFetchDataTypeLoadMore && strongSelf.dataArray != nil && strongSelf.dataArray.count > 0) {
                     [modelsArr addObjectsFromArray:strongSelf.dataArray];
                     [modelsArr addObjectsFromArray:strongSelf.dataArray];
                 }
                 }
                 
                 
@@ -375,16 +371,16 @@ static const NSInteger detal = 20;
     }
     }
     
     
     self.offset = 0;
     self.offset = 0;
-    [self loadData:ApexResultFetchDataTypeInitial];
+    [self loadData:RAResultFetchDataTypeInitial];
 }
 }
 
 
 - (void)refreshData {
 - (void)refreshData {
     self.offset = 0;
     self.offset = 0;
-    [self loadData:ApexResultFetchDataTypeRefresh];
+    [self loadData:    RAResultFetchDataTypeRefresh];
 }
 }
 
 
 - (void)loadMoreData {
 - (void)loadMoreData {
-    [self loadData:ApexResultFetchDataTypeLoadMore];
+    [self loadData:    RAResultFetchDataTypeLoadMore];
 }
 }
 
 
 #pragma mark - Getter
 #pragma mark - Getter

+ 2 - 1
RA TradeFiling/RA TradeFiling/config.h

@@ -13,7 +13,7 @@
 //#define fake_data false
 //#define fake_data false
 #ifdef DEBUG
 #ifdef DEBUG
 //    #define test_server
 //    #define test_server
-    #define fake_data true
+    #define fake_data false
 #else
 #else
     #define fake_data false
     #define fake_data false
 # endif
 # endif
@@ -46,6 +46,7 @@
 #define URL_SAVE_EDITOR         BASE_URL@""
 #define URL_SAVE_EDITOR         BASE_URL@""
 
 
 #define URL_EDIT                BASE_URL@""
 #define URL_EDIT                BASE_URL@""
+#define URL_CADEDATE       BASE_URL@""
 
 
 //#define URL_SAVE_PANEL       BASE_URL@"/main_new_29.php"
 //#define URL_SAVE_PANEL       BASE_URL@"/main_new_29.php"
 
 

+ 102 - 13
common/customUI/commoneditor/CommonEditor.storyboard

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="18122" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="ipad9_7" orientation="portrait" layout="fullscreen" appearance="light"/>
     <device id="ipad9_7" orientation="portrait" layout="fullscreen" appearance="light"/>
     <dependencies>
     <dependencies>
         <deployment identifier="iOS"/>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17703"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="18093"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     </dependencies>
@@ -176,7 +176,7 @@
                                 <color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <prototypes>
                                 <prototypes>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellModel" rowHeight="140" id="Oph-ee-jLz" customClass="CommonEditorCellModel">
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellModel" rowHeight="140" id="Oph-ee-jLz" customClass="CommonEditorCellModel">
-                                        <rect key="frame" x="0.0" y="55.5" width="768" height="140"/>
+                                        <rect key="frame" x="0.0" y="49.5" width="768" height="140"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Oph-ee-jLz" id="QtW-xN-XkR">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Oph-ee-jLz" id="QtW-xN-XkR">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="140"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="140"/>
@@ -305,7 +305,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellAction" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellAction" id="ssj-oz-bAi" customClass="CommonEditorCellAction">
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellAction" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellAction" id="ssj-oz-bAi" customClass="CommonEditorCellAction">
-                                        <rect key="frame" x="0.0" y="195.5" width="768" height="44"/>
+                                        <rect key="frame" x="0.0" y="189.5" width="768" height="44"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ssj-oz-bAi" id="vUH-NQ-LZ9">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ssj-oz-bAi" id="vUH-NQ-LZ9">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
@@ -331,7 +331,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellMAction" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellMAction" id="07f-ff-k30" customClass="CommonEditorCellMAction">
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellMAction" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellMAction" id="07f-ff-k30" customClass="CommonEditorCellMAction">
-                                        <rect key="frame" x="0.0" y="239.5" width="768" height="44"/>
+                                        <rect key="frame" x="0.0" y="233.5" width="768" height="44"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="07f-ff-k30" id="Ume-mi-cJc">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="07f-ff-k30" id="Ume-mi-cJc">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
@@ -392,7 +392,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellLabel" id="6Qk-ct-Qby" customClass="CommonEditorCellLabel">
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellLabel" id="6Qk-ct-Qby" customClass="CommonEditorCellLabel">
-                                        <rect key="frame" x="0.0" y="283.5" width="768" height="44"/>
+                                        <rect key="frame" x="0.0" y="277.5" width="768" height="44"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="6Qk-ct-Qby" id="RHD-Jr-MC2">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="6Qk-ct-Qby" id="RHD-Jr-MC2">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
@@ -430,7 +430,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CommonEditorCellEdit" rowHeight="44" id="PEs-Tx-N1l" customClass="CommonEditorCellEdit">
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CommonEditorCellEdit" rowHeight="44" id="PEs-Tx-N1l" customClass="CommonEditorCellEdit">
-                                        <rect key="frame" x="0.0" y="327.5" width="768" height="44"/>
+                                        <rect key="frame" x="0.0" y="321.5" width="768" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="PEs-Tx-N1l" id="g6q-oB-WEG">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="PEs-Tx-N1l" id="g6q-oB-WEG">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
@@ -477,7 +477,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellEnum" id="9AR-rS-Bcu" customClass="CommonEditorCellEnum">
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellEnum" id="9AR-rS-Bcu" customClass="CommonEditorCellEnum">
-                                        <rect key="frame" x="0.0" y="371.5" width="768" height="44"/>
+                                        <rect key="frame" x="0.0" y="365.5" width="768" height="44"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="9AR-rS-Bcu" id="jAQ-Sk-bhV">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="9AR-rS-Bcu" id="jAQ-Sk-bhV">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
@@ -523,7 +523,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellTextView" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellTextView" rowHeight="140" id="dmX-be-8Su" customClass="CommonEditorCellTextView">
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellTextView" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellTextView" rowHeight="140" id="dmX-be-8Su" customClass="CommonEditorCellTextView">
-                                        <rect key="frame" x="0.0" y="415.5" width="768" height="140"/>
+                                        <rect key="frame" x="0.0" y="409.5" width="768" height="140"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="dmX-be-8Su" id="OGD-ef-ifx">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="dmX-be-8Su" id="OGD-ef-ifx">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="140"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="140"/>
@@ -572,7 +572,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellSignature" rowHeight="140" id="1AQ-3f-NcM" customClass="CommonEditorCellSignature">
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellSignature" rowHeight="140" id="1AQ-3f-NcM" customClass="CommonEditorCellSignature">
-                                        <rect key="frame" x="0.0" y="555.5" width="768" height="140"/>
+                                        <rect key="frame" x="0.0" y="549.5" width="768" height="140"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="1AQ-3f-NcM" id="1Ve-Rc-Loo">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="1AQ-3f-NcM" id="1Ve-Rc-Loo">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="140"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="140"/>
@@ -617,7 +617,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellSwitch" rowHeight="44" id="Prk-wJ-Ou5" customClass="CommonEditorCellSwitch">
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellSwitch" rowHeight="44" id="Prk-wJ-Ou5" customClass="CommonEditorCellSwitch">
-                                        <rect key="frame" x="0.0" y="695.5" width="768" height="44"/>
+                                        <rect key="frame" x="0.0" y="689.5" width="768" height="44"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Prk-wJ-Ou5" id="gzm-zc-a8m">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Prk-wJ-Ou5" id="gzm-zc-a8m">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
@@ -659,7 +659,7 @@
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellImg" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellImg" rowHeight="120" id="z4d-pv-B8K" customClass="CommonEditorCellImg">
                                     <tableViewCell contentMode="scaleToFill" restorationIdentifier="CommonEditorCellImg" selectionStyle="default" indentationWidth="10" reuseIdentifier="CommonEditorCellImg" rowHeight="120" id="z4d-pv-B8K" customClass="CommonEditorCellImg">
-                                        <rect key="frame" x="0.0" y="739.5" width="768" height="120"/>
+                                        <rect key="frame" x="0.0" y="733.5" width="768" height="120"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="z4d-pv-B8K" id="8bH-ma-t1U">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="z4d-pv-B8K" id="8bH-ma-t1U">
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="120"/>
                                             <rect key="frame" x="0.0" y="0.0" width="768" height="120"/>
@@ -843,7 +843,7 @@
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <prototypes>
                                 <prototypes>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="EnumSelectorCell" id="b1D-ac-iWB" customClass="EnumSelectorCell">
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="EnumSelectorCell" id="b1D-ac-iWB" customClass="EnumSelectorCell">
-                                        <rect key="frame" x="0.0" y="28" width="540" height="44"/>
+                                        <rect key="frame" x="0.0" y="24.5" width="540" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="b1D-ac-iWB" id="kPb-Xs-gEw">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="b1D-ac-iWB" id="kPb-Xs-gEw">
                                             <rect key="frame" x="0.0" y="0.0" width="540" height="44"/>
                                             <rect key="frame" x="0.0" y="0.0" width="540" height="44"/>
@@ -932,6 +932,95 @@
             </objects>
             </objects>
             <point key="canvasLocation" x="5858" y="1279"/>
             <point key="canvasLocation" x="5858" y="1279"/>
         </scene>
         </scene>
+        <!--Enum Select Online View Controller-->
+        <scene sceneID="l77-sN-S74">
+            <objects>
+                <viewController storyboardIdentifier="EnumSelectOnlineViewController" useStoryboardIdentifierAsRestorationIdentifier="YES" id="A1a-tK-2BG" customClass="EnumSelectOnlineViewController" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="1gV-A8-KPP"/>
+                        <viewControllerLayoutGuide type="bottom" id="obC-fO-OxK"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="U3R-Nq-VNq">
+                        <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/>
+                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                        <subviews>
+                            <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="No Record" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="jes-xb-r2y">
+                                <rect key="frame" x="343" y="501" width="80.5" height="21"/>
+                                <autoresizingMask key="autoresizingMask"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <nil key="textColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="O1P-gK-hbP">
+                                <rect key="frame" x="0.0" y="44" width="768" height="980"/>
+                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <prototypes>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="EnumSelectorCell" id="bae-sl-DbK" customClass="EnumSelectorCell">
+                                        <rect key="frame" x="0.0" y="24.5" width="768" height="44"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="bae-sl-DbK" id="FgK-hs-kBJ">
+                                            <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qm5-av-MgR" customClass="RTLabel">
+                                                    <rect key="frame" x="15" y="5" width="706" height="34"/>
+                                                    <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                </view>
+                                                <imageView hidden="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="check_1_24" translatesAutoresizingMaskIntoConstraints="NO" id="kF5-qd-S0m">
+                                                    <rect key="frame" x="729" y="10" width="24" height="24"/>
+                                                    <constraints>
+                                                        <constraint firstAttribute="width" constant="24" id="JjL-qY-RBW"/>
+                                                        <constraint firstAttribute="height" constant="24" id="aa1-vg-GFg"/>
+                                                    </constraints>
+                                                </imageView>
+                                            </subviews>
+                                            <constraints>
+                                                <constraint firstItem="kF5-qd-S0m" firstAttribute="leading" secondItem="Qm5-av-MgR" secondAttribute="trailing" constant="8" id="711-Ar-J18"/>
+                                                <constraint firstItem="Qm5-av-MgR" firstAttribute="top" secondItem="FgK-hs-kBJ" secondAttribute="top" constant="5" id="DWq-iS-IcJ"/>
+                                                <constraint firstItem="kF5-qd-S0m" firstAttribute="centerY" secondItem="FgK-hs-kBJ" secondAttribute="centerY" id="INu-iQ-cHs"/>
+                                                <constraint firstAttribute="trailing" secondItem="kF5-qd-S0m" secondAttribute="trailing" constant="15" id="Lfd-o7-jda"/>
+                                                <constraint firstAttribute="bottom" secondItem="Qm5-av-MgR" secondAttribute="bottom" constant="5" id="fg2-3e-6Le"/>
+                                                <constraint firstItem="Qm5-av-MgR" firstAttribute="leading" secondItem="FgK-hs-kBJ" secondAttribute="leading" constant="15" id="kbu-o6-Syf"/>
+                                            </constraints>
+                                        </tableViewCellContentView>
+                                        <connections>
+                                            <outlet property="img_checkmark" destination="kF5-qd-S0m" id="OAe-X4-bJt"/>
+                                            <outlet property="rtLabel" destination="Qm5-av-MgR" id="7hv-rt-x1R"/>
+                                        </connections>
+                                    </tableViewCell>
+                                </prototypes>
+                                <connections>
+                                    <outlet property="dataSource" destination="A1a-tK-2BG" id="I5C-IP-vg5"/>
+                                    <outlet property="delegate" destination="A1a-tK-2BG" id="qCj-ol-VAC"/>
+                                </connections>
+                            </tableView>
+                            <searchBar contentMode="redraw" placeholder="KEYWORDS" id="8tc-Zi-o4x">
+                                <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
+                                <textInputTraits key="textInputTraits"/>
+                                <connections>
+                                    <outlet property="delegate" destination="A1a-tK-2BG" id="HpF-dm-AwJ"/>
+                                </connections>
+                            </searchBar>
+                        </subviews>
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <constraints>
+                            <constraint firstItem="O1P-gK-hbP" firstAttribute="top" secondItem="8tc-Zi-o4x" secondAttribute="bottom" id="D7b-Kn-CeP"/>
+                            <constraint firstItem="O1P-gK-hbP" firstAttribute="leading" secondItem="U3R-Nq-VNq" secondAttribute="leading" id="EfY-Qd-pqJ"/>
+                            <constraint firstAttribute="trailing" secondItem="O1P-gK-hbP" secondAttribute="trailing" id="VOJ-oF-WaG"/>
+                            <constraint firstItem="obC-fO-OxK" firstAttribute="top" secondItem="O1P-gK-hbP" secondAttribute="bottom" id="vXu-cU-n6z"/>
+                        </constraints>
+                    </view>
+                    <value key="contentSizeForViewInPopover" type="size" width="540" height="680"/>
+                    <connections>
+                        <outlet property="labelNoRecord" destination="jes-xb-r2y" id="no7-Wi-Leb"/>
+                        <outlet property="tableEnum" destination="O1P-gK-hbP" id="Xd2-yh-fEM"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="44d-aR-9OD" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="2726.5625" y="486.91406249999994"/>
+        </scene>
     </scenes>
     </scenes>
     <resources>
     <resources>
         <image name="check_1_24" width="24" height="24"/>
         <image name="check_1_24" width="24" height="24"/>

+ 22 - 1
common/customUI/commoneditor/CommonEditorViewController.m

@@ -54,7 +54,7 @@
 #import "CommonEditorBannerCell.h"
 #import "CommonEditorBannerCell.h"
 #import "ContentPreviewController.h"
 #import "ContentPreviewController.h"
 #import "NetworkUtils.h"
 #import "NetworkUtils.h"
-
+#import "EnumSelectOnlineViewController.h"
 
 
 @interface subitem_data ()
 @interface subitem_data ()
 
 
@@ -4760,6 +4760,27 @@
             
             
             return nil;
             return nil;
         }
         }
+        BOOL online = [[item_json objectForKey:@"online"] boolValue];
+        if (online)
+        {
+            int max_select = [[item_json valueForKey:@"max"] intValue];
+            
+            EnumSelectOnlineViewController* enumvc =[[UIStoryboard storyboardWithName:@"CommonEditor" bundle:nil] instantiateViewControllerWithIdentifier:@"EnumSelectOnlineViewController"];
+            enumvc.delegate = self;
+            enumvc.max_select = max_select;
+            enumvc.updatePosition = indexPath;
+            //        if([[required lowercaseString] isEqualToString:@"true"])
+            //        enumvc.canbeEmpty = false;
+            //        else
+            //        enumvc.canbeEmpty =true;
+//            enumvc.cadedate = [cadedate_json mutableCopy];
+            enumvc.title = title;
+            //       enumvc.value = [value_json mutableCopy];
+            enumvc.single_select =[[single_select lowercaseString] isEqualToString:@"true"];
+            
+            [self.navigationController pushViewController:enumvc animated:true];
+            return nil;
+        }
         
         
         int max_select = [[item_json valueForKey:@"max"] intValue];
         int max_select = [[item_json valueForKey:@"max"] intValue];
         
         

+ 17 - 0
common/customUI/commoneditor/EnumSelectDelegate.h

@@ -0,0 +1,17 @@
+//
+//  EnumSelectDelegate.h
+//  RA TradeFiling
+//
+//  Created by Rui Zhang on 5/14/21.
+//
+
+#ifndef EnumSelectDelegate_h
+#define EnumSelectDelegate_h
+@class EnumSelectViewController;
+@protocol EnumSelectViewControllerDelegate <NSObject>
+
+-(void) EnumValueChanged:(NSMutableDictionary *)value indexPath :(NSIndexPath*) indexPath;
+
+@end
+
+#endif /* EnumSelectDelegate_h */

+ 54 - 0
common/customUI/commoneditor/EnumSelectOnlineViewController.h

@@ -0,0 +1,54 @@
+//
+//  EnumSelectOnlineViewController.h
+//  RA TradeFiling
+//
+//  Created by Rui Zhang on 5/14/21.
+//
+
+#import <UIKit/UIKit.h>
+#import "EnumSelectViewController.h"
+#import "EnumSelectDelegate.h"
+#import "RAProgressHUD.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@class EnumSelectOnlineViewController;
+@protocol EnumSelectOnlineViewControllerDelegate <NSObject>
+
+-(void) EnumValueChanged:(NSMutableDictionary *)value indexPath :(NSIndexPath*) indexPath;
+
+@end
+
+@interface EnumSelectOnlineViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate>
+
+//@property (strong,nonatomic) NSMutableDictionary* value;
+@property (nonatomic, weak) id<EnumSelectViewControllerDelegate> delegate;
+//@property bool canbeEmpty;
+//@property index last
+@property bool single_select;
+@property bool auto_close;
+@property (strong,nonatomic) NSIndexPath* updatePosition;
+@property (strong, nonatomic) IBOutlet UINavigationItem *navi_item;
+//@property (strong,nonatomic) NSString* title;
+@property bool dirty ;
+@property int max_select ;
+@property bool is_dialog ;
+
+
+@property (weak, nonatomic) IBOutlet UILabel *labelNoRecord;
+
+
+@property (strong, nonatomic) IBOutlet UITableView *tableEnum;
+@property (nonatomic , copy) void (^returnValue)(NSMutableDictionary* value);
+@property bool hide_navibar;
+@property bool reset;
+@property int filter_count;
+@property (strong,nonatomic) NSString* keywords;
+
+#pragma mark 在线cadedate
+@property bool online_enum ;
+@property (strong,nonatomic) NSString* online_keywords;
+@property (strong,nonatomic) NSString* online_url;
+@property (strong,nonatomic) NSMutableDictionary* online_params;
+@end
+
+NS_ASSUME_NONNULL_END

+ 845 - 0
common/customUI/commoneditor/EnumSelectOnlineViewController.m

@@ -0,0 +1,845 @@
+//
+//  EnumSelectOnlineViewController.m
+//  RA TradeFiling
+//
+//  Created by Rui Zhang on 5/14/21.
+//
+
+#import "EnumSelectOnlineViewController.h"
+
+#import "EnumSelectorCell.h"
+#import "RAUtils.h"
+#import "AppDelegate.h"
+
+#import "RADataProvider.h"
+#import "ResultPresenter.h"
+#import "JLRefreshHeader.h"
+#import "JLRefreshFooter.h"
+
+#define  DEF_CELL_HEIGHT 44
+//#define  DEF_TABLE_HEIGHT 44
+//#define  LINE_WIDTH 0
+//#define  CELL_MARGIN 0
+#define  LABEL_MARGIN 15
+@interface EnumSelectOnlineViewController ()<JLRefreshDelegate>
+@property (nonatomic,weak) JLRefreshBasis *curRefresh;
+@property (nonatomic,weak) RAProgressHUD *curHUD;
+
+
+@property (strong,nonatomic) NSMutableDictionary* cadedate;
+@property int offset ;
+@property int limit ;
+//@property (nonatomic,strong) NSArray<NSMutableDictionary *> *dataArray;
+
+@end
+
+@implementation EnumSelectOnlineViewController
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+    if (self) {
+        // Custom initialization
+    }
+    return self;
+}
+
+- (void)viewDidLoad
+{
+    [super viewDidLoad];
+    
+//    self.automaticallyAdjustsScrollViewInsets = NO;
+//    self.max_select = 0;
+    
+    self.navi_item.title = self.title;
+    
+//    self.navigationItem.title = self.title;
+    // Do any additional setup after loading the view.
+
+    self.auto_close = true;
+    
+    if(self.is_dialog)
+    {
+        UIBarButtonItem *closeButton =   [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"close"] imageWithRenderingMode:UIImageRenderingModeAutomatic]
+                                                                                                              style:UIBarButtonItemStylePlain
+                                                                                                             target:self
+                                                                                                             action:@selector( onCloseClick:)];
+ //       [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Close", nil) style:UIBarButtonItemStylePlain target:self action:@selector(onCloseClick:)];
+        self.navi_item.rightBarButtonItem = closeButton;
+    }
+    else
+    {
+        UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"back"] imageWithRenderingMode:UIImageRenderingModeAutomatic]
+                                                                       style:UIBarButtonItemStylePlain
+                                                                      target:self
+                                                                      action:@selector( onBackClick:)];
+        //   [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Back", nil) style:UIBarButtonItemStylePlain target:self action:@selector(onBackClick:)];
+        
+        self.navigationItem.leftBarButtonItem = backButton;
+    }
+    self.dirty = false;
+    
+    NSString *model = [UIDevice currentDevice].model;
+    if ([model isEqualToString:@"iPhone"]) {
+    
+    } else {
+        UILabel* titleLabel= [[UILabel alloc] initWithFrame:CGRectMake(100, 0, 200
+                                                                       
+                                                                       , 44)];
+        titleLabel.text=self.title;
+        //  titleLabel.backgroundColor =[UIColor yellowColor];
+        titleLabel.textAlignment=NSTextAlignmentCenter;
+        
+        
+        //将搜索条放在一个UIView上
+        UIView *searchView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 1768, 44)];
+        
+        
+        
+        
+        searchView.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleWidth;
+        
+        titleLabel.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
+        titleLabel.center=searchView.center;
+        
+        
+        
+        UISearchBar *searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(searchView.frame.size.width-200.0f-8.0f,0.0f,200.0f,44.0f)];
+        searchBar.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
+        searchBar.delegate = self;
+        [searchBar setPlaceholder:@"filter"];
+        //searchBar.barTintColor=[UIColor clearColor];
+        searchBar.searchBarStyle=UISearchBarStyleMinimal;
+        [searchView addSubview:titleLabel];
+        [searchView addSubview:searchBar];
+        
+        self.navigationItem.titleView = searchView;
+    }
+
+    [[self navigationController] setNavigationBarHidden:self.hide_navibar animated:NO];
+    
+    
+    JLRefreshHeader *header = [[JLRefreshHeader alloc] init];
+    header.refreshDelegate = self;
+    self.tableEnum.jl_header = header;
+    
+    JLRefreshFooter *footer = [[JLRefreshFooter alloc] init];
+    footer.refreshDelegate = self;
+    self.tableEnum.jl_footer = footer;
+    
+    [self loadData];
+    
+}
+- (void)onBackClick:(UIButton *)sender {
+    
+    
+    [self.navigationController popViewControllerAnimated:(false)];
+    //    [self.navigationController dismissViewControllerAnimated:true completion:^{
+    //        ;
+    //    }];
+}
+- (void)onCloseClick:(UIButton *)sender {
+
+    [self dismissViewControllerAnimated:YES
+                             completion:^{
+                                 
+                                 
+                             }];
+}
+- (void)viewWillDisappear:(BOOL)animated
+{
+    [super viewWillDisappear:animated];
+    if(self.dirty == false)
+    return;
+    if (self.delegate && [self.delegate respondsToSelector:@selector(EnumValueChanged:indexPath:)]) {
+        [self.delegate EnumValueChanged:self.cadedate indexPath:self.updatePosition];
+    }
+    if(self.returnValue)
+        self.returnValue(self.cadedate);
+}
+
+
+- (void)didReceiveMemoryWarning
+{
+    [super didReceiveMemoryWarning];
+    // Dispose of any resources that can be recreated.
+}
+
+//-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
+//{
+//
+//    [self.tableEnum reloadData];
+////
+////    UIApplication * app = [UIApplication sharedApplication];
+////    AppDelegate *appDelegate = (AppDelegate *)[app delegate];
+////    [appDelegate didRotated];
+//
+//
+//
+//}
+- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
+    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
+    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext>  _Nonnull context) {
+        // what ever you want to prepare
+    } completion:^(id<UIViewControllerTransitionCoordinatorContext>  _Nonnull context) {
+        [self.tableEnum reloadData];
+    }];
+}
+#pragma mark - Table view data source
+
+
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+    return 1;
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+    
+    //    if(self.canbeEmpty)
+    //    return [[self.cadedate valueForKey:@"count"] intValue]+1;
+    //    else
+    
+    
+    if(self.keywords==nil || self.keywords.length==0)
+    {
+        self.filter_count = 0;
+    return [[self.cadedate valueForKey:@"count"] intValue];
+    }
+    else
+    {
+        
+        int count = 0;
+        
+        for (int i=0; i<[[self.cadedate valueForKey:@"count"] intValue]; i++)
+        {
+            NSDictionary* val_json = [self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",i ]];
+            
+            NSString* value = [val_json valueForKey:@"value"];
+            
+            NSUInteger location=[[value uppercaseString] rangeOfString:self.keywords].location;
+            if(location!= NSNotFound)
+                count++;
+        }
+        self.filter_count = count;
+        return count;
+    }
+    
+    
+    
+}
+
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
+{
+    
+    NSDictionary* val_json =nil;
+    
+    
+    if(self.keywords==nil || self.keywords.length==0)
+    {
+        val_json=[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%ld",(long)indexPath.row ]];
+    }
+    else
+    {
+        
+        int count = 0;
+        
+        for (int i=0; i<[[self.cadedate valueForKey:@"count"] intValue]; i++)
+        {
+            if(count>= self.filter_count)
+                break;
+            NSDictionary* search_json = [self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",i ]];
+            
+            NSString* value = [search_json valueForKey:@"value"];
+            
+            NSUInteger location=[[value uppercaseString] rangeOfString:self.keywords].location;
+            if(location!= NSNotFound)
+                count++;
+            
+            if(count-1==indexPath.row)
+                val_json=search_json;
+        }
+        
+    }
+    
+    
+    
+    
+    NSString* value = [val_json valueForKey:@"value"];
+    
+    
+    float width = tableView.frame.size.width;
+    width-=40;
+    CGSize constraintkey = CGSizeMake(width-2*LABEL_MARGIN, 10.0f);//key label width is 40% cell width;
+    //            CGSize constraintval = CGSizeMake(width*0.6-2*LABEL_MARGIN, 20000.0f);//val label width is 60% cell width;
+    
+    
+    
+    //  NSDictionary* item = [self.content get_item_seg:indexPath.section row:indexPath.row];
+//    NSString* key =[self.content_data valueForKey:@"order_info"];
+    
+    //   [cell.keyLabel sizeToFit];
+    //            NSString* val=[item_json valueForKey:@"val"] ;
+    
+    //            if([val isEqual:[NSNull null]])
+    //                val=@"";
+    //            if(val==nil)
+    //                val=@"";
+    //            if([val isEqualToString:@"null"])
+    //                val=@"";
+    
+    
+    
+    CGRect frame;
+    frame.size = constraintkey;
+    frame.origin.x=0;
+    frame.origin.y=0;
+    
+    
+    
+    RTLabel* rtlabel = [[RTLabel alloc] initWithFrame:frame];
+    
+  //  rtlabel.lineSpacing = 10;
+    //            [rtlabel setLineBreakMode: RTTextLineBreakModeWordWrapping];
+    //        rtlabel.lineSpacing = 20.0;
+    [rtlabel setText: value];
+    CGSize optimumSize = [rtlabel optimumSize];
+    //            DebugLog(@"%@",key);
+    
+    //            [rtlabel sizeThatFits:constraintkey];
+    
+    //            rtlabel frameHeight:<#(CTFrameRef)#>
+    //            rtlabel
+    //            [rtlabel sizeToFit];
+    //CGSize newsize=            rtlabel.frame.size;
+    //            CGSize sizeval=rtlabel.optimumSize;
+    
+    
+    //            CGSize sizekey = [key sizeWithFont:[UIFont systemFontOfSize:17.0] constrainedToSize:constraintkey lineBreakMode:NSLineBreakByWordWrapping];
+    //           CGSize sizeval = [val sizeWithFont:[UIFont systemFontOfSize:17.0] constrainedToSize:constraintval lineBreakMode:NSLineBreakByWordWrapping];
+    float height = optimumSize.height;
+    height = MAX(height+2*LABEL_MARGIN, DEF_CELL_HEIGHT);
+    
+    
+    return height;
+    
+}
+
+
+
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    
+    
+    
+    NSDictionary* val_json =nil;
+    
+    
+    if(self.keywords==nil || self.keywords.length==0)
+    {
+        val_json=[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%ld",(long)indexPath.row ]];
+    }
+    else
+    {
+        
+        int count = 0;
+        
+        for (int i=0; i<[[self.cadedate valueForKey:@"count"] intValue]; i++)
+        {
+            if(count>= self.filter_count)
+                break;
+            NSDictionary* search_json = [self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",i ]];
+            
+            NSString* value = [search_json valueForKey:@"value"];
+            
+            NSUInteger location=[[value uppercaseString] rangeOfString:self.keywords].location;
+            if(location!= NSNotFound)
+                count++;
+            
+            if(count-1==indexPath.row)
+            {
+                val_json=search_json;
+            break;
+            }
+        }
+        
+    }
+    
+    
+    
+    NSString* CellIdentifier = @"EnumSelectorCell";
+    
+    EnumSelectorCell * cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
+//    NSDictionary* val_json = [self.cadedate objectForKey:[NSString stringWithFormat:@"val_%ld",(long)indexPath.row ]];
+    
+    NSString* value = [val_json valueForKey:@"value"];
+   // cell.rtLabel.lineSpacing=10;
+    cell.rtLabel.text = value;
+//    cell.labelValue.text = value;
+    int check = [[val_json valueForKey:@"check" ] intValue];
+    if(check==1)
+    cell.img_checkmark.hidden=false;
+    else
+    cell.img_checkmark.hidden=true;
+    
+    return cell;
+    
+}
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    
+    EnumSelectorCell* cell = (EnumSelectorCell*)[tableView cellForRowAtIndexPath:indexPath];
+
+    
+    cell.selected = false;
+    self.dirty = true;
+    
+    if(self.single_select)
+    {
+        
+        
+        
+        
+        
+        if(self.keywords==nil || self.keywords.length==0)
+        {
+            for(int i=0;i<[[self.cadedate valueForKey:@"count"] intValue];i++)
+            {
+                
+                
+                
+                
+                NSMutableDictionary* val_json = [[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",i]] mutableCopy];
+                if(i==indexPath.row)
+                    [val_json setValue:@"1" forKey:@"check"];
+                else
+                    [val_json setValue:@"0" forKey:@"check"];
+                [self.cadedate setObject:val_json forKey:[NSString stringWithFormat:@"val_%d",i]];
+            }
+        }
+        else
+        {
+            
+
+            
+            NSMutableDictionary* val_json =nil;
+            
+            int count = 0;
+            
+            for (int cc=0; cc<[[self.cadedate valueForKey:@"count"] intValue]; cc++)
+            {
+                if(count>= self.filter_count)
+                    break;
+                NSMutableDictionary* search_json = [[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",cc ]] mutableCopy];
+                
+                NSString* value = [search_json valueForKey:@"value"];
+                
+                NSUInteger location=[[value uppercaseString] rangeOfString:self.keywords].location;
+                if(location!= NSNotFound)
+                    count++;
+                
+                if(count-1==indexPath.row)
+                    val_json=search_json;
+            }
+            
+            for (int sc=0;sc<[[self.cadedate valueForKey:@"count"] intValue];sc++)
+            {
+                NSMutableDictionary* sc_json = [[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",sc ]] mutableCopy];
+                
+                if ([[sc_json valueForKey:@"value" ] isEqual:[val_json valueForKey:@"value"]] )
+                    [sc_json setValue:@"1" forKey:@"check"];
+                else
+                    [sc_json setValue:@"0" forKey:@"check"];
+                [self.cadedate setObject:sc_json forKey:[NSString stringWithFormat:@"val_%d",sc]];
+            }
+            
+        }
+        
+        if(self.auto_close)
+        {
+            if(self.navigationController!=nil)
+                [self.navigationController popViewControllerAnimated:YES];
+                
+//            [self.navigationController dismissViewControllerAnimated:YES
+//                                                          completion:^{
+//
+//
+//                                                          }];
+            else
+            [self dismissViewControllerAnimated:YES
+                                     completion:^{
+                                         
+                                         
+                                     }];
+        }
+    }
+    else
+    {
+        
+
+        
+        
+        NSMutableDictionary* val_json =nil;
+        
+        
+        if(self.keywords==nil || self.keywords.length==0)
+        {
+            val_json=[[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%ld",(long)indexPath.row ]] mutableCopy];
+        }
+        else
+        {
+            
+            int count = 0;
+            
+            for (int i=0; i<[[self.cadedate valueForKey:@"count"] intValue]; i++)
+            {
+                if(count>= self.filter_count)
+                    break;
+                NSMutableDictionary* search_json = [[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",i ]] mutableCopy];
+                
+                NSString* value = [search_json valueForKey:@"value"];
+                
+                NSUInteger location=[[value uppercaseString] rangeOfString:self.keywords].location;
+                if(location!= NSNotFound)
+                    count++;
+                
+                if(count-1==indexPath.row)
+                    val_json=search_json;
+            }
+            
+        }
+        
+//        NSMutableDictionary* val_json = [[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%ld",(long)indexPath.row]] mutableCopy];
+        int check = [[val_json valueForKey:@"check"] intValue];
+        if(check==1)
+        [val_json setValue:@"0" forKey:@"check"];
+        else
+        {
+            if([self check_count]>=self.max_select && self.max_select>0)
+            {
+                
+//                UIAlertView * alert = [[UIAlertView alloc] initWithTitle:  message:[NSString stringWithFormat: delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
+//                //        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Error!" message:@"User&Password can not be empty!" delegate:nil cancelButtonTitle:NSLocalizedString(@"ok", nil) , nil];
+//                [alert show];
+                
+                [RAUtils message_alert:[NSString stringWithFormat:@"%d items at most for this field.",self.max_select ] title:@"Max count reached" controller:self];
+//                [RAUtils alert_view:[NSString stringWithFormat:@"%d items at most for this field.",self.max_select ] title:@"Max count reached"];
+                
+                return;
+            }
+            [val_json setValue:@"1" forKey:@"check"];
+        }
+        [self.cadedate setObject:val_json forKey:[NSString stringWithFormat:@"val_%ld",(long)indexPath.row]];
+        
+        
+    }
+    [self.tableEnum reloadData];
+    
+}
+-(int) check_count
+{
+    int check_count=0;
+   // int count = 0;
+    
+    for (int i=0; i<[[self.cadedate valueForKey:@"count"] intValue]; i++)
+    {
+
+        NSMutableDictionary* val_json = [[self.cadedate objectForKey:[NSString stringWithFormat:@"val_%d",i ]] mutableCopy];
+        
+        int check = [[val_json valueForKey:@"check"] intValue];
+        if(check==1)
+            check_count++;
+
+    }
+    return check_count;
+}
+
+#pragma mark - searchBar delegate;
+- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
+{
+    self.keywords=[searchBar.text uppercaseString];
+   
+    [self loadData];
+ //   [self.tableEnum reloadData];
+//    self.offset = 0;
+//    [self.content_data removeAllObjects];
+//    [self loadpage];
+//    DebugLog(@"search");
+}
+- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
+{
+    
+    
+    if([searchText isEqualToString:@""] && !self.reset)
+    {
+        self.keywords=nil;
+        [self.tableEnum reloadData];
+        self.reset=true;
+    
+    }
+    else
+        self.reset = false;
+}
+/*
+ #pragma mark - Navigation
+ 
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
+ {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+ }
+ */
+- (void)loadData:(RAResultFetchDataType)option {
+    
+    
+        [self onStartLoading];
+    
+    __weak typeof(self) weakSelf = self;
+    
+    
+    NSMutableDictionary *params = [self.online_params mutableCopy];
+    [params setObject:[NSNumber numberWithInteger:self.offset] forKey:@"offset"];
+    [params setObject:[NSNumber numberWithInteger:self.limit] forKey:@"limit"];
+    
+   if(self.online_keywords.length>0)
+       self.online_params[@"keywords"]=self.online_keywords;
+
+    [RADataProvider GetCadedate:self.online_params completionHandler:^(NSMutableDictionary *result) {
+        
+        NSMutableDictionary * json = result;
+            __strong typeof(weakSelf) strongSelf = weakSelf;
+            
+            int resultcode = [[json objectForKey:@"result"] intValue];
+            if (resultcode == RESULT_TRUE) {
+                
+//                NSMutableArray *modelsArr = [NSMutableArray array];
+//                if (option ==     RAResultFetchDataTypeLoadMore && strongSelf.dataArray != nil && strongSelf.dataArray.count > 0) {
+//                    [modelsArr addObjectsFromArray:strongSelf.dataArray];
+//                }
+                
+                if (option !=     RAResultFetchDataTypeLoadMore) {
+                    self.cadedate = [NSMutableDictionary new];
+                }
+                
+                int count = [json[@"count"] intValue];
+                for (int i=0;i<count;i++)
+                {
+                    NSMutableDictionary* item = [json[[NSString stringWithFormat:@"val_%d",i]] mutableCopy];
+                    self.cadedate[[NSString stringWithFormat:@"val_%d",i]]=item;
+                }
+                
+                self.cadedate[@"count"]= @([self.cadedate[@"count"] intValue]+count);
+                
+                strongSelf.offset = [self.cadedate[@"count"] intValue];
+                
+                NSString *title = [json objectForKey:@"title"];
+               
+
+                
+                // refresh UI
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    
+                    if (weakSelf) {
+                        __strong typeof(weakSelf) strongSelf = weakSelf;
+                        
+//                        strongSelf.dataArray = [modelsArr copy];
+                       
+                            [strongSelf onStopLoading];
+                            [strongSelf onSuccess:title];
+                            if (count < self.limit) {
+                                [strongSelf onNoMoreData];
+                            }
+                       
+                    }
+                    
+                });
+                
+            } else {
+                
+                NSString *msg = [json objectForKey:@"err_msg"];
+                if(msg.length==0)
+                {
+                    msg=@"Sorry, can not connect to the server, please try again later.";
+                }
+                __weak typeof(self) weakSelf = self;
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    if (weakSelf) {
+                        __strong typeof(weakSelf) strongSelf = weakSelf;
+
+                            [strongSelf onStopLoading];
+                            [strongSelf onFailed:msg];
+                    }
+                });
+            }
+        
+    }];
+    
+    return;
+//
+//    dispatch_async(dispatch_get_global_queue(0, 0), ^{
+//
+//        NSMutableDictionary *params = [weakSelf.params mutableCopy];
+//        [params setObject:[NSNumber numberWithInteger:offset] forKey:@"offset"];
+//        [params setObject:[NSNumber numberWithInteger:detal] forKey:@"limit"];
+//        [params setObject:displayFields forKey:@"columns"];
+//
+//        NSDictionary *json = [RANetwork fetchResultParameters:params];
+//        if (weakSelf) {
+//            __strong typeof(weakSelf) strongSelf = weakSelf;
+//
+//            int result = [[json objectForKey:@"result"] intValue];
+//            if (result == RESULT_TRUE) {
+//
+//                NSMutableArray *modelsArr = [NSMutableArray array];
+//                if (option == ApexResultFetchDataTypeLoadMore && strongSelf.dataArray != nil && strongSelf.dataArray.count > 0) {
+//                    [modelsArr addObjectsFromArray:strongSelf.dataArray];
+//                }
+//
+//                NSArray *items = [json objectForKey:@"items"];
+//                for (NSDictionary *item in items) {
+//
+//                    NSInteger type = [[item objectForKey:@"type"] integerValue];
+//
+//                    switch (type) {
+//                        case ApexResultTypeBooking: {
+//                            ApexResultBookingModel *model = [ApexResultBookingModel new];
+//                            [model setValuesForKeysWithDictionary:item];
+//                            [modelsArr addObject:model];
+//                        }
+//                            break;
+//                        case ApexResultTypeBLInfo: {
+//                            ApexResultBLInfoModel *model = [ApexResultBLInfoModel new];
+//                            [model setValuesForKeysWithDictionary:item];
+//                            [modelsArr addObject:model];
+//                        }
+//                            break;
+//                        case ApexResultTypeContainer: {
+//                            ApexResultContainerModel *model = [ApexResultContainerModel new];
+//                            [model setValuesForKeysWithDictionary:item];
+//                            [modelsArr addObject:model];
+//                        }
+//                            break;
+//                        case ApexResultTypeDocument: {
+//                            ApexResultDocumentModel *model = [ApexResultDocumentModel new];
+//                            [model setValuesForKeysWithDictionary:item];
+//                            [modelsArr addObject:model];
+//                        }
+//                            break;
+//                        default:
+//                            break;
+//                    }
+//
+//                } // for
+//                strongSelf.offset = modelsArr.count;
+//
+//                NSString *title = [json objectForKey:@"title"];
+//                strongSelf.rowActions = [json objectForKey:@"row_actions"];
+//                strongSelf.actions = [json objectForKey:@"actions"];
+//
+//                // menu
+//                NSArray *menuArr = [json objectForKey:@"menu"];
+//                if (menuArr) {
+//                    NSMutableArray *tmpArr = [NSMutableArray array];
+//                    for (NSDictionary *item in menuArr) {
+//
+//                        ApexResultMenuItem *menuItem = [ApexResultMenuItem new];
+//                        [menuItem setValuesForKeysWithDictionary:item];
+//                        [tmpArr addObject:menuItem];
+//                    }
+//                    strongSelf.menuItems = [tmpArr copy];
+//                }
+//
+//                // refresh UI
+//                [strongSelf loadDataSuccessWithTitle:title itemsArray:modelsArr itemCount:items.count];
+//
+//            } else {
+//                [strongSelf loadDataFailed];
+//            }
+//        }
+//
+//    });
+}
+
+- (void)loadData {
+    
+    if (self.dirty) {
+        self.dirty = NO;
+        
+        
+
+    }
+    
+    self.offset = 0;
+    [self loadData:RAResultFetchDataTypeInitial];
+}
+- (void)refreshData {
+    self.offset = 0;
+    [self loadData:    RAResultFetchDataTypeRefresh];
+}
+
+- (void)loadMoreData {
+    [self loadData:    RAResultFetchDataTypeLoadMore];
+}
+
+#pragma mark - Presenter 
+
+- (void)onStartLoading {
+    self.curHUD = [RAProgressHUD showHUDOnView:self.view];
+}
+
+- (void)onStopLoading {
+    [self.curHUD dismiss];
+}
+
+- (void)onNoMoreData {
+    [(JLRefreshFooter *)self.tableEnum.jl_footer noMoreData];
+}
+
+- (void)onSuccess:(NSString *)title {
+    [self.curRefresh endRefresh];
+    [self.tableEnum reloadData];
+    
+    
+    
+    if([self.cadedate[@"count"] intValue]==0)
+        self.labelNoRecord.hidden=false;
+    else
+        self.labelNoRecord.hidden=true;
+    self.title = title;
+}
+
+- (void)onFailed:(NSString *)errMsg {
+    [self.curRefresh endRefresh];
+//    [RAUtils message_alert:errMsg title:@"Warning" controller:self];
+    [RAUtils ra_showAlertTitle:@"Warning" message:errMsg withViewController:self];
+}
+
+
+
+#pragma mark - Refresh Delegate
+
+- (void)jl_pullRefresh:(JLRefreshBasis *)refresh state:(JLRefreshState)state percentage:(float)percentage {
+    
+}
+
+- (void)jl_beginRefresh:(JLRefreshBasis *)refresh {
+    
+    self.curRefresh = refresh;
+    if (refresh == self.tableEnum.jl_header) {
+        
+        [self refreshData];
+        [(JLRefreshFooter *)self.tableEnum.jl_footer enableLoadMore];
+        
+    } else if (refresh == self.tableEnum.jl_footer) {
+        
+        [self loadMoreData];
+    }
+}
+
+- (void)jl_endRefresh:(JLRefreshBasis *)refresh {
+    
+}
+
+@end

+ 8 - 6
common/customUI/commoneditor/EnumSelectViewController.h

@@ -7,12 +7,7 @@
 //
 //
 
 
 #import <UIKit/UIKit.h>
 #import <UIKit/UIKit.h>
-@class EnumSelectViewController;
-@protocol EnumSelectViewControllerDelegate <NSObject>
-
--(void) EnumValueChanged:(NSMutableDictionary *)value indexPath :(NSIndexPath*) indexPath;
-
-@end
+#import "EnumSelectDelegate.h"
 @interface EnumSelectViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate>
 @interface EnumSelectViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate>
 @property (strong,nonatomic) NSMutableDictionary* cadedate;
 @property (strong,nonatomic) NSMutableDictionary* cadedate;
 //@property (strong,nonatomic) NSMutableDictionary* value;
 //@property (strong,nonatomic) NSMutableDictionary* value;
@@ -29,10 +24,17 @@
 @property bool is_dialog ;
 @property bool is_dialog ;
 
 
 
 
+
+
 @property (strong, nonatomic) IBOutlet UITableView *tableEnum;
 @property (strong, nonatomic) IBOutlet UITableView *tableEnum;
 @property (nonatomic , copy) void (^returnValue)(NSMutableDictionary* value);
 @property (nonatomic , copy) void (^returnValue)(NSMutableDictionary* value);
 @property bool hide_navibar;
 @property bool hide_navibar;
 @property bool reset;
 @property bool reset;
 @property int filter_count;
 @property int filter_count;
 @property (strong,nonatomic) NSString* keywords;
 @property (strong,nonatomic) NSString* keywords;
+
+//#pragma mark 在线cadedate
+//@property bool online_enum ;
+//@property (strong,nonatomic) NSString* online_url;
+//@property (strong,nonatomic) NSMutableDictionary* online_params;
 @end
 @end