├── CHANGELOG.md
├── CONTRIBUTING.md
├── doc
└── .gitignore
├── core
├── ios
│ ├── README.md
│ ├── BindingX.xcodeproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ ├── BindingX
│ │ ├── EBExpressionTiming.h
│ │ ├── EBExpressionScroller.h
│ │ ├── EBExpressionOrientation.h
│ │ ├── EBJSEvaluate.h
│ │ ├── EBExpressionGesture.h
│ │ ├── NSObject+EBTuplePacker.h
│ │ ├── EBExpressionScope.h
│ │ ├── Info.plist
│ │ ├── EBExpression.h
│ │ ├── EBJSTransform.h
│ │ ├── EBNativeFunction.h
│ │ ├── BindingX.h
│ │ ├── EBExpressionExecutor.h
│ │ ├── EBGyroVector3.h
│ │ ├── EBGyroManager.h
│ │ ├── EBNativeFunction.m
│ │ ├── EBGyroOrientationEvaluator.h
│ │ ├── EBGyroEuler.h
│ │ ├── EBHandlerFactory.h
│ │ └── NSObject+EBTuplePacker.m
│ └── BindingXTests
│ │ ├── Info.plist
│ │ ├── EBTestUtils.h
│ │ ├── EBTestCase.h
│ │ ├── EBTestUtils.m
│ │ └── EBTestCase.m
├── web-polifill
│ ├── .gitignore
│ ├── .npmignore
│ ├── demo
│ │ ├── scroll.js
│ │ ├── pan.html
│ │ ├── orientation.js
│ │ ├── orientation.html
│ │ ├── lottie.html
│ │ └── timing.html
│ ├── src
│ │ └── lib
│ │ │ ├── math.js
│ │ │ ├── handlers
│ │ │ └── index.js
│ │ │ └── raf.js
│ ├── README.md
│ ├── package.json
│ ├── webpack.config.js
│ └── webpack.dev.config.js
└── android
│ └── bindingx-core
│ ├── .gitignore
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── src
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── res
│ │ │ └── values
│ │ │ │ └── strings.xml
│ │ └── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── android
│ │ │ └── bindingx
│ │ │ └── core
│ │ │ ├── internal
│ │ │ ├── JSObjectInterface.java
│ │ │ ├── JSFunctionInterface.java
│ │ │ └── SensorManagerProxy.java
│ │ │ └── BindingXEventType.java
│ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── android
│ │ └── bindingx
│ │ └── core
│ │ └── internal
│ │ └── ExpressionPairTest.java
│ ├── constants.gradle
│ ├── changelog.md
│ ├── proguard-rules.pro
│ └── bintray.gradle
├── react-native
├── ios
├── android
├── lib
│ ├── ios
│ │ ├── README.md
│ │ ├── RNBindingX.xcodeproj
│ │ │ └── project.xcworkspace
│ │ │ │ └── contents.xcworkspacedata
│ │ └── RNBindingX
│ │ │ ├── core
│ │ │ ├── BindingX.h
│ │ │ ├── EBHandlerFactory.h
│ │ │ ├── EBExpressionScroller.h
│ │ │ ├── EBExpressionTiming.h
│ │ │ ├── EBExpressionOrientation.h
│ │ │ ├── EBJSEvaluate.h
│ │ │ ├── EBExpressionScope.h
│ │ │ ├── NSObject+EBTuplePacker.h
│ │ │ ├── EBExpression.h
│ │ │ ├── EBExpressionGesture.h
│ │ │ ├── EBJSTransform.h
│ │ │ ├── EBNativeFunction.h
│ │ │ ├── EBGyroVector3.h
│ │ │ ├── EBGyroManager.h
│ │ │ ├── EBNativeFunction.m
│ │ │ ├── EBExpressionExecutor.h
│ │ │ ├── EBGyroOrientationEvaluator.h
│ │ │ ├── EBGyroEuler.h
│ │ │ ├── NSObject+EBTuplePacker.m
│ │ │ └── EBHandlerFactory.m
│ │ │ ├── EBUtility+RN.h
│ │ │ ├── Info.plist
│ │ │ └── EBRNModule.h
│ ├── index.js
│ └── android
│ │ ├── .gitignore
│ │ ├── src
│ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── res
│ │ │ └── values
│ │ │ └── strings.xml
│ │ └── proguard-rules.pro
├── README.md
├── example
│ ├── index.js
│ ├── android
│ │ ├── playground-rn
│ │ │ ├── .gitignore
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── res
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── values
│ │ │ │ │ │ ├── strings.xml
│ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── layout
│ │ │ │ │ │ └── activity_main.xml
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── alibaba
│ │ │ │ │ └── android
│ │ │ │ │ └── bindingx
│ │ │ │ │ └── playground
│ │ │ │ │ └── react
│ │ │ │ │ └── MainActivity.java
│ │ │ ├── local.properties
│ │ │ └── proguard-rules.pro
│ │ ├── .gitignore
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── settings.gradle
│ │ ├── gradle.properties
│ │ └── build.gradle
│ └── ios
│ │ ├── BindingDemoRN
│ │ ├── Assets.xcassets
│ │ │ ├── Contents.json
│ │ │ ├── icon.imageset
│ │ │ │ ├── weex-icon.png
│ │ │ │ ├── bindingx_new_icon_400.png
│ │ │ │ └── Contents.json
│ │ │ └── AppIcon.appiconset
│ │ │ │ ├── Icon-40.png
│ │ │ │ ├── Icon-58.png
│ │ │ │ ├── Icon-60.png
│ │ │ │ ├── Icon-80.png
│ │ │ │ ├── Icon-87.png
│ │ │ │ ├── Icon-120.png
│ │ │ │ ├── Icon-121.png
│ │ │ │ └── Icon-180.png
│ │ ├── AppDelegate.h
│ │ └── main.m
│ │ ├── BindingDemoRN.xcworkspace
│ │ ├── xcuserdata
│ │ │ └── huxiaoqi.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ └── contents.xcworkspacedata
│ │ ├── BindingDemoRN.xcodeproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── huxiaoqi.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── Podfile
├── .gitignore
├── .npmignore
└── package.json
├── parser
├── .npmignore
├── .gitignore
├── README.md
├── package.json
└── webpack.config.js
├── weex
├── .swift-version
├── playground
│ ├── ios
│ │ ├── README.md
│ │ ├── weex.png
│ │ ├── weex@2x.png
│ │ ├── WeexDemo
│ │ │ ├── weex-icon.png
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ ├── back.imageset
│ │ │ │ │ ├── back.png
│ │ │ │ │ ├── back@2x.png
│ │ │ │ │ ├── back@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── scan.imageset
│ │ │ │ │ ├── scan.png
│ │ │ │ │ ├── scan@2x.png
│ │ │ │ │ ├── scan@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── reload.imageset
│ │ │ │ │ ├── reload.png
│ │ │ │ │ ├── reload@2x.png
│ │ │ │ │ ├── reload@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ ├── Icon-40.png
│ │ │ │ │ ├── Icon-58.png
│ │ │ │ │ ├── Icon-60.png
│ │ │ │ │ ├── Icon-80.png
│ │ │ │ │ ├── Icon-87.png
│ │ │ │ │ ├── Icon-120.png
│ │ │ │ │ ├── Icon-121.png
│ │ │ │ │ └── Icon-180.png
│ │ │ ├── Images.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon.imageset
│ │ │ │ │ ├── weex-icon.png
│ │ │ │ │ ├── bindingx_new_icon_400.png
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Brand Assets.launchimage
│ │ │ │ │ └── Contents.json
│ │ │ ├── DemoBaseViewController.h
│ │ │ ├── UIView+UIThreadCheck.h
│ │ │ ├── lottie
│ │ │ │ ├── WXLottieBindingXHandler.h
│ │ │ │ ├── WXLottieComponent.h
│ │ │ │ └── WXLottieBindingXHandler.m
│ │ │ ├── CustomEBHandler.h
│ │ │ ├── WXSyncTestModule.h
│ │ │ ├── debug
│ │ │ │ ├── WXATLoggerPlugin.h
│ │ │ │ ├── WXATViewHierarchyPlugin.h
│ │ │ │ └── WXATViewHierarchyPlugin.m
│ │ │ ├── extend
│ │ │ │ ├── handler
│ │ │ │ │ ├── WXNavigationImpl.h
│ │ │ │ │ └── WXImgLoaderDefaultImpl.h
│ │ │ │ ├── component
│ │ │ │ │ └── WXSelectComponent.h
│ │ │ │ └── module
│ │ │ │ │ ├── WXEventModule.h
│ │ │ │ │ └── WXEventModule.m
│ │ │ ├── Scanner
│ │ │ │ └── WXScannerVC.h
│ │ │ ├── main.m
│ │ │ ├── AppDelegate.h
│ │ │ ├── CustomEBHandler.m
│ │ │ ├── UIViewController+WXDemoNaviBar.h
│ │ │ ├── WXDemoViewController.h
│ │ │ ├── WXSyncTestModule.m
│ │ │ ├── DemoBaseViewController.m
│ │ │ └── DemoDefine.h
│ │ ├── WeexDemo.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── Podfile
│ │ ├── WeexUITestDemoUITests
│ │ │ └── Info.plist
│ │ └── WeexDemoTests
│ │ │ ├── Info.plist
│ │ │ └── WeexDemoTests.m
│ ├── android
│ │ ├── playground-weex
│ │ │ ├── .gitignore
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ └── res
│ │ │ │ │ ├── drawable-xhdpi
│ │ │ │ │ └── scan.png
│ │ │ │ │ ├── drawable-xxxhdpi
│ │ │ │ │ ├── back.png
│ │ │ │ │ └── ic_history.png
│ │ │ │ │ ├── drawable-xxhdpi
│ │ │ │ │ └── back_arrow.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ └── values
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ └── styles.xml
│ │ │ └── proguard-rules.pro
│ │ ├── qrcode_extends
│ │ │ ├── .gitignore
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── res
│ │ │ │ │ │ └── values
│ │ │ │ │ │ │ ├── ids.xml
│ │ │ │ │ │ │ ├── strings.xml
│ │ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ │ └── attrs.xml
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── alibaba
│ │ │ │ │ │ └── android
│ │ │ │ │ │ └── qrcode
│ │ │ │ │ │ └── extension
│ │ │ │ │ │ └── core
│ │ │ │ │ │ └── CameraWrapper.java
│ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── alibaba
│ │ │ │ │ └── android
│ │ │ │ │ └── qrcode
│ │ │ │ │ └── extension
│ │ │ │ │ └── ExampleUnitTest.java
│ │ │ ├── build.gradle
│ │ │ └── proguard-rules.pro
│ │ ├── .gitignore
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── settings.gradle
│ │ ├── gradle.properties
│ │ └── build.gradle
│ └── browser
│ │ └── pluginInstall.js
├── .babelrc
├── .npmignore
├── android
│ └── bindingx_weex_plugin
│ │ ├── .gitignore
│ │ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── constants.gradle
│ │ ├── src
│ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── res
│ │ │ └── values
│ │ │ └── strings.xml
│ │ ├── proguard-rules.pro
│ │ ├── bintray.gradle
│ │ └── changelog.md
├── ios
│ ├── BindingX.xcworkspace
│ │ ├── xcshareddata
│ │ │ └── WorkspaceSettings.xcsettings
│ │ └── contents.xcworkspacedata
│ ├── Podfile
│ ├── Sources
│ │ ├── EBWXModule.h
│ │ ├── EBWXUtils.h
│ │ ├── EBWXOldModule.h
│ │ └── EBUtility+WX.h
│ └── Info.plist
├── .gitignore
└── build
│ └── webpack.config.js
├── logo.png
├── native
└── android
│ ├── playground
│ ├── playground-android
│ │ ├── .gitignore
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── res
│ │ │ │ │ ├── values
│ │ │ │ │ │ ├── strings.xml
│ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ ├── drawable-xhdpi
│ │ │ │ │ │ ├── bg_1.png
│ │ │ │ │ │ ├── bg_2.jpg
│ │ │ │ │ │ ├── bg_3.png
│ │ │ │ │ │ ├── toutiao.png
│ │ │ │ │ │ ├── wuliu_1.jpg
│ │ │ │ │ │ ├── wuliu_2.jpg
│ │ │ │ │ │ ├── wuliu_3.jpg
│ │ │ │ │ │ └── wuliu_4.jpg
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ │ ├── drawable
│ │ │ │ │ │ ├── border_wuliu_dot.xml
│ │ │ │ │ │ ├── gradient_toutiao_bg.xml
│ │ │ │ │ │ └── border_toutiao_label.xml
│ │ │ │ │ └── layout
│ │ │ │ │ │ ├── activity_demo2.xml
│ │ │ │ │ │ └── activity_main.xml
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── test
│ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── alibaba
│ │ │ │ │ └── android
│ │ │ │ │ └── playground
│ │ │ │ │ └── ExampleUnitTest.java
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── android
│ │ │ │ └── playground
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── .gitignore
│ ├── settings.gradle
│ ├── build.gradle
│ └── gradle.properties
│ ├── bindingx_android_plugin
│ ├── changelog.md
│ ├── .gitignore
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── src
│ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── android
│ │ │ │ └── bindingx
│ │ │ │ └── plugin
│ │ │ │ └── android
│ │ │ │ ├── NativeCallback.java
│ │ │ │ ├── NativeViewFinder.java
│ │ │ │ ├── model
│ │ │ │ ├── BindingXPropSpec.java
│ │ │ │ └── BindingXSpec.java
│ │ │ │ └── INativeViewUpdater.java
│ │ │ └── res
│ │ │ └── values
│ │ │ └── strings.xml
│ ├── constants.gradle
│ ├── proguard-rules.pro
│ └── bintray.gradle
│ └── .gitignore
├── web
├── weex-bindingx
│ ├── .gitignore
│ ├── .npmignore
│ ├── demo
│ │ ├── vue
│ │ │ ├── pan.js
│ │ │ ├── scroll.js
│ │ │ ├── timing.js
│ │ │ ├── orientation.js
│ │ │ ├── pan.html
│ │ │ ├── timing.html
│ │ │ ├── orientation.html
│ │ │ └── scroll.html
│ │ └── rax
│ │ │ ├── pan.html
│ │ │ ├── async.html
│ │ │ ├── delete.html
│ │ │ ├── lottie.html
│ │ │ ├── timing.html
│ │ │ ├── orientation.html
│ │ │ ├── svg.html
│ │ │ ├── scroll.html
│ │ │ └── menu.html
│ └── lib
│ │ └── deps.json
└── react-native-bindingx
│ ├── .gitignore
│ ├── .npmignore
│ └── package.json
├── LICENSE.md
├── BindingX-react-native.podspec
└── BindingX.podspec
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/doc/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/core/ios/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/react-native/ios:
--------------------------------------------------------------------------------
1 | lib/ios
--------------------------------------------------------------------------------
/parser/.npmignore:
--------------------------------------------------------------------------------
1 | .idea/*
--------------------------------------------------------------------------------
/weex/.swift-version:
--------------------------------------------------------------------------------
1 | 3.0
2 |
--------------------------------------------------------------------------------
/react-native/android:
--------------------------------------------------------------------------------
1 | lib/android
--------------------------------------------------------------------------------
/weex/playground/ios/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/parser/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/*
2 |
3 |
--------------------------------------------------------------------------------
/weex/.babelrc:
--------------------------------------------------------------------------------
1 | { "presets": ["es2015"] }
--------------------------------------------------------------------------------
/react-native/lib/ios/README.md:
--------------------------------------------------------------------------------
1 | //占位 @对象
2 |
--------------------------------------------------------------------------------
/react-native/README.md:
--------------------------------------------------------------------------------
1 | react-native-bindingx
2 |
3 |
--------------------------------------------------------------------------------
/react-native/example/index.js:
--------------------------------------------------------------------------------
1 | require('./src/app');
--------------------------------------------------------------------------------
/react-native/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | ./android
3 | ./ios
4 |
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/core/web-polifill/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .idea/
3 | .DS_Store
--------------------------------------------------------------------------------
/core/web-polifill/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .idea/
3 | .DS_Store
--------------------------------------------------------------------------------
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/logo.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/web/weex-bindingx/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .idea/
3 | .DS_Store
--------------------------------------------------------------------------------
/web/weex-bindingx/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .idea/
3 | .DS_Store
--------------------------------------------------------------------------------
/web/react-native-bindingx/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .idea/
3 | .DS_Store
--------------------------------------------------------------------------------
/web/react-native-bindingx/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .idea/
3 | .DS_Store
--------------------------------------------------------------------------------
/react-native/.npmignore:
--------------------------------------------------------------------------------
1 | .package-lock.json
2 | ./node_modules
3 | yarn.lock
4 | yarn-error.log
--------------------------------------------------------------------------------
/react-native/lib/index.js:
--------------------------------------------------------------------------------
1 | import bindingx from './src/bindingx';
2 |
3 | module.exports = bindingx;
4 |
--------------------------------------------------------------------------------
/weex/playground/ios/weex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/weex.png
--------------------------------------------------------------------------------
/weex/playground/ios/weex@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/weex@2x.png
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/changelog.md:
--------------------------------------------------------------------------------
1 | ### bindingx-android-plugin changelog
2 |
3 | #### 1.0.0
4 |
5 | 1. 初始版本。
--------------------------------------------------------------------------------
/weex/.npmignore:
--------------------------------------------------------------------------------
1 | examples
2 | coverage
3 | docs
4 | node_modules/*
5 |
6 | test
7 |
8 | .editorconfig
9 | .esdocrc
10 | .eslintrc
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/weex-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/weex-icon.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/pan.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import App from './pan.vue';
3 | App.el = '#root';
4 | new Vue(App);
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | *.iml
3 | .gradle
4 | /local.properties
5 | /.idea
6 | .DS_Store
7 | /captures
8 | .externalNativeBuild
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/react-native/lib/android/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | *.iml
3 | .gradle
4 | /local.properties
5 | /.idea
6 | .DS_Store
7 | /captures
8 | .externalNativeBuild
--------------------------------------------------------------------------------
/weex/playground/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 |
--------------------------------------------------------------------------------
/react-native/example/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | playground
3 |
4 |
--------------------------------------------------------------------------------
/weex/android/bindingx_weex_plugin/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | *.iml
3 | .gradle
4 | /local.properties
5 | /.idea
6 | .DS_Store
7 | /captures
8 | .externalNativeBuild
9 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | *.iml
3 | .gradle
4 | /local.properties
5 | /.idea
6 | .DS_Store
7 | /captures
8 | .externalNativeBuild
9 |
--------------------------------------------------------------------------------
/weex/playground/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/core/android/bindingx-core/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/core/android/bindingx-core/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/native/android/playground/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/react-native/example/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/core/android/bindingx-core/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/weex/android/bindingx_weex_plugin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/android/bindingx_weex_plugin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/back.imageset/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/back.imageset/back.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/scan.imageset/scan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/scan.imageset/scan.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/back.imageset/back@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/back.imageset/back@2x.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/back.imageset/back@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/back.imageset/back@3x.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/scan.imageset/scan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/scan.imageset/scan@2x.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/scan.imageset/scan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/scan.imageset/scan@3x.png
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/bindingx_android_plugin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/react-native/lib/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/reload.imageset/reload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/reload.imageset/reload.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Images.xcassets/icon.imageset/weex-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Images.xcassets/icon.imageset/weex-icon.png
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/scroll.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import App from './scroll.vue';
3 | import weex from '@ali/weex-vue-render';
4 | weex.init(Vue);
5 | App.el = '#root';
6 | new Vue(App);
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/timing.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import App from './timing.vue';
3 | import weex from '@ali/weex-vue-render';
4 | weex.init(Vue);
5 | App.el = '#root';
6 | new Vue(App);
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-40.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-58.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-60.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-80.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-87.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/reload.imageset/reload@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/reload.imageset/reload@2x.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/reload.imageset/reload@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/reload.imageset/reload@3x.png
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/android/playground-rn/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/src/main/res/drawable-xhdpi/scan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/android/playground-weex/src/main/res/drawable-xhdpi/scan.png
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/src/main/res/drawable-xxxhdpi/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/android/playground-weex/src/main/res/drawable-xxxhdpi/back.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-120.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-121.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-121.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Assets.xcassets/AppIcon.appiconset/Icon-180.png
--------------------------------------------------------------------------------
/native/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/libraries
5 | /.idea/modules.xml
6 | /.idea/workspace.xml
7 | .DS_Store
8 | /build
9 | /captures
10 | .externalNativeBuild
11 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/orientation.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import App from './orientation.vue';
3 | import weex from '@ali/weex-vue-render';
4 | weex.init(Vue);
5 | App.el = '#root';
6 | new Vue(App);
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/bg_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/bg_1.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/bg_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/bg_2.jpg
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/bg_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/bg_3.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/icon.imageset/weex-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/icon.imageset/weex-icon.png
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/src/main/res/drawable-xxhdpi/back_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/android/playground-weex/src/main/res/drawable-xxhdpi/back_arrow.png
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/android/playground-weex/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/toutiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/toutiao.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_1.jpg
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_2.jpg
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_3.jpg
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/drawable-xhdpi/wuliu_4.jpg
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-40.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-58.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-60.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-80.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-87.png
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/src/main/res/drawable-xxxhdpi/ic_history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/android/playground-weex/src/main/res/drawable-xxxhdpi/ic_history.png
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Images.xcassets/icon.imageset/bindingx_new_icon_400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/weex/playground/ios/WeexDemo/Images.xcassets/icon.imageset/bindingx_new_icon_400.png
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/native/android/playground/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/libraries
5 | /.idea/modules.xml
6 | /.idea/workspace.xml
7 | .DS_Store
8 | /build
9 | /captures
10 | .externalNativeBuild
11 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/android/playground-rn/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-120.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-121.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-121.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/AppIcon.appiconset/Icon-180.png
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | 4
3 | 60
4 |
5 |
--------------------------------------------------------------------------------
/weex/playground/browser/pluginInstall.js:
--------------------------------------------------------------------------------
1 | import BindingxWeexPlugin from "../../js/src";
2 |
3 | if (window.Weex) {
4 | Weex.install(BindingxWeexPlugin);
5 | } else if (window.weex) {
6 | weex.install(BindingxWeexPlugin);
7 | }
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/native/android/playground/playground-android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/icon.imageset/bindingx_new_icon_400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN/Assets.xcassets/icon.imageset/bindingx_new_icon_400.png
--------------------------------------------------------------------------------
/core/ios/BindingX.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/weex/ios/BindingX.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/weex/ios/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, '8.0'
3 | #inhibit_all_warnings!
4 |
5 | def common
6 | pod 'WeexSDK'
7 | pod 'WeexPluginLoader'
8 | end
9 |
10 | target 'BindingX' do
11 | common
12 | end
13 |
14 |
15 |
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN.xcworkspace/xcuserdata/huxiaoqi.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/bindingx/HEAD/react-native/example/ios/BindingDemoRN.xcworkspace/xcuserdata/huxiaoqi.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/web/weex-bindingx/lib/deps.json:
--------------------------------------------------------------------------------
1 | {
2 | "npm/weex-bindingx/0.0.40/index.cmd": {
3 | "requires": []
4 | },
5 | "npm/weex-bindingx/0.0.40/index.web.cmd": {
6 | "requires": []
7 | },
8 | "npm/weex-bindingx/0.0.40/index.weex.cmd": {
9 | "requires": []
10 | }
11 | }
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #60000000
4 | #ffcc0000
5 | #ffafed44
6 |
--------------------------------------------------------------------------------
/weex/playground/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 25 14:08:17 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 25 14:08:17 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/native/android/playground/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu Aug 09 10:29:44 CST 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
7 |
--------------------------------------------------------------------------------
/react-native/example/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 25 14:08:17 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/weex/android/bindingx_weex_plugin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 25 14:08:17 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 25 14:08:17 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/weex/ios/BindingX.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/parser/README.md:
--------------------------------------------------------------------------------
1 | ### BindingX Parser
2 |
3 | #### Install
4 |
5 | ```
6 | npm i bindingx-parser --save
7 |
8 | ```
9 |
10 | #### Usage
11 |
12 | ```
13 | import {parse} from 'bindingx-parser';
14 |
15 | const originExpression = 'x+0';
16 |
17 | parse(originExpression); // will return expression syntax tree
18 |
19 | ```
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Mar 30 16:43:18 CST 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildSystemType
6 | Original
7 |
8 |
9 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable/border_wuliu_dot.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable/gradient_toutiao_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/src/main/java/com/alibaba/android/bindingx/plugin/android/NativeCallback.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.bindingx.plugin.android;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * Description:
7 | *
8 | * Created by rowandjj(chuyi)
9 | */
10 | public interface NativeCallback {
11 | void callback(Map params);
12 | }
13 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/src/main/java/com/alibaba/android/bindingx/plugin/android/NativeViewFinder.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.bindingx.plugin.android;
2 |
3 | import android.view.View;
4 |
5 | /**
6 | * Description:
7 | *
8 | * Created by rowandjj(chuyi)
9 | */
10 | public interface NativeViewFinder {
11 | View findViewBy(View rootView, String ref);
12 | }
13 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/drawable/border_toutiao_label.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/BindingX.h:
--------------------------------------------------------------------------------
1 | //
2 | // BindingX.h
3 | // BindingX
4 | //
5 | // Created by 对象 on 2018/5/7.
6 | // Copyright © 2018年 weexplugin. All rights reserved.
7 | //
8 | #import
9 |
10 | FOUNDATION_EXPORT double BindingXVersionNumber;
11 |
12 | FOUNDATION_EXPORT const unsigned char BindingXVersionString[];
13 |
14 | #import
15 |
--------------------------------------------------------------------------------
/react-native/example/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'bindingx-rn-playground'
2 |
3 | include ':playground-rn'
4 |
5 | include ':bindingx-core'
6 | project (':bindingx-core').projectDir = new File(rootProject.projectDir, '../../../core/android/bindingx-core')
7 |
8 | include ':bindingx_react-native_plugin'
9 | project (':bindingx_react-native_plugin').projectDir = new File(rootProject.projectDir,'../../lib/android')
10 |
--------------------------------------------------------------------------------
/native/android/playground/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'bindingx-android-playground'
2 | include ':playground-android'
3 |
4 |
5 | include ':bindingx-core'
6 | project (':bindingx-core').projectDir = new File(rootProject.projectDir, '../../../core/android/bindingx-core')
7 |
8 |
9 | include ':bindingx_android_plugin'
10 | project (':bindingx_android_plugin').projectDir = new File(rootProject.projectDir, '../bindingx_android_plugin')
--------------------------------------------------------------------------------
/weex/playground/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'bindingx-weex-playground'
2 |
3 | include ':playground-weex', ':qrcode_extends'
4 |
5 | include ':bindingx-core'
6 | project (':bindingx-core').projectDir = new File(rootProject.projectDir, '../../../core/android/bindingx-core')
7 |
8 | include ':bindingx_weex_plugin'
9 | project (':bindingx_weex_plugin').projectDir = new File(rootProject.projectDir,'../../android/bindingx_weex_plugin')
10 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/DemoBaseViewController.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 |
11 | @interface DemoBaseViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/weex/playground/ios/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, '8.0'
3 | #inhibit_all_warnings!
4 |
5 | def common
6 | pod 'WeexSDK', '0.18.0'
7 | pod 'WXDevtool', '0.9.5'
8 | pod 'SDWebImage', '3.7.5'
9 | pod 'SocketRocket', '0.4.2'
10 | pod 'ATSDK-Weex', '0.0.1'
11 | pod 'lottie-ios', '2.5.0'
12 |
13 | pod 'BindingX', :path=>'../../../'
14 | end
15 |
16 | target 'WeexDemo' do
17 | common
18 | end
19 |
20 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/UIView+UIThreadCheck.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 |
11 | @interface UIView (UIThreadCheck)
12 |
13 | + (void)wx_checkUIThread;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/lottie/WXLottieBindingXHandler.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import "EBHandlerFactory.h"
10 |
11 | @interface WXLottieBindingXHandler : NSObject
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/src/main/java/com/alibaba/android/bindingx/plugin/android/model/BindingXPropSpec.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.bindingx.plugin.android.model;
2 |
3 | import com.alibaba.android.bindingx.core.internal.ExpressionPair;
4 |
5 | /**
6 | * Description:
7 | *
8 | * Created by rowandjj(chuyi)
9 | */
10 | public class BindingXPropSpec {
11 | public String element;
12 | public String property;
13 | public ExpressionPair expressionPair;
14 | }
15 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/constants.gradle:
--------------------------------------------------------------------------------
1 | /**
2 | * use [./gradlew clean assemble install bintrayUpload] to publish(bintray)
3 | * */
4 |
5 | ext {
6 | projectName = 'maven'
7 | projectDesc = 'bindingx core framework'
8 |
9 | siteUrl = 'https://github.com/alibaba/bindingx'
10 | gitUrl = 'git@github.com:alibaba/bindingx.git'
11 |
12 | mavenGroup = 'com.alibaba.android'
13 | mavenArtifactId = 'bindingx-core'
14 | mavenVersion = '1.0.9.6'
15 |
16 | orgName = 'rowandjj'
17 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/CustomEBHandler.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface CustomEBHandler : NSObject
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/WXSyncTestModule.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface WXSyncTestModule : NSObject
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Images.xcassets/icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "weex-icon.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "bindingx_new_icon_400.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/debug/WXATLoggerPlugin.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface WXATLoggerPlugin : NSObject
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/weex/android/bindingx_weex_plugin/constants.gradle:
--------------------------------------------------------------------------------
1 | /**
2 | * use [./gradlew clean assemble install bintrayUpload] to publish(bintray)
3 | * */
4 |
5 | ext {
6 | projectName = 'maven'
7 | projectDesc = 'bindingx weex plugin'
8 |
9 | siteUrl = 'https://github.com/alibaba/bindingx'
10 | gitUrl = 'git@github.com:alibaba/bindingx.git'
11 |
12 | mavenGroup = 'com.alibaba.android'
13 | mavenArtifactId = 'bindingx_weex_plugin'
14 | mavenVersion = '1.0.9.6'
15 |
16 | orgName = 'rowandjj'
17 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/extend/handler/WXNavigationImpl.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface WXNavigationImpl : NSObject
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/Assets.xcassets/icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "weex-icon.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "bindingx_new_icon_400.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Scanner/WXScannerVC.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface WXScannerVC : UIViewController
13 |
14 | @end
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/constants.gradle:
--------------------------------------------------------------------------------
1 | /**
2 | * use [./gradlew clean assemble install bintrayUpload] to publish(bintray)
3 | * */
4 |
5 | ext {
6 | projectName = 'maven'
7 | projectDesc = 'bindingx android plugin'
8 |
9 | siteUrl = 'https://github.com/alibaba/bindingx'
10 | gitUrl = 'git@github.com:alibaba/bindingx.git'
11 |
12 | mavenGroup = 'com.alibaba.android'
13 | mavenArtifactId = 'bindingx_android_plugin'
14 | mavenVersion = '1.0.0'
15 |
16 | orgName = 'rowandjj'
17 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/back.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "back.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "back@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "back@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/scan.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "scan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "scan@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "scan@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/debug/WXATViewHierarchyPlugin.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | //#import
10 | //#import
11 | //
12 | //@interface WXATViewHierarchyPlugin : NSObject
13 | //
14 | //@end
15 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Assets.xcassets/reload.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "reload.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "reload@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "reload@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/Images.xcassets/Brand Assets.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "minimum-system-version" : "7.0",
7 | "scale" : "2x"
8 | },
9 | {
10 | "orientation" : "portrait",
11 | "idiom" : "iphone",
12 | "minimum-system-version" : "7.0",
13 | "subtype" : "retina4",
14 | "scale" : "2x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/extend/component/WXSelectComponent.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface WXSelectComponent : WXComponent
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/extend/handler/WXImgLoaderDefaultImpl.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface WXImgLoaderDefaultImpl : NSObject
13 | @end
14 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/test/java/com/alibaba/android/playground/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.playground;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/local.properties:
--------------------------------------------------------------------------------
1 | ## This file is automatically generated by Android Studio.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 | #
7 | # Location of the SDK. This is only used by Gradle.
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | #Fri Mar 30 16:12:32 CST 2018
11 | sdk.dir=/Users/huxiaoqi/Library/Android/sdk
12 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/main.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/weex/.gitignore:
--------------------------------------------------------------------------------
1 | #Xcode
2 | ios/Pods/
3 | ios/Podfile.lock
4 | playground/ios/Pods/
5 | playground/ios/Podfile.lock
6 | .weexpack.cache
7 | # OSX
8 | #
9 | .DS_Store
10 |
11 | *.pbxuser
12 | !default.pbxuser
13 | *.mode1v3
14 | !default.mode1v3
15 | *.mode2v3
16 | !default.mode2v3
17 | *.perspectivev3
18 | !default.perspectivev3
19 | xcuserdata
20 | *.xccheckout
21 | *.moved-aside
22 | DerivedData
23 | *.hmap
24 | *.ipa
25 | *.xcuserstate
26 | project.xcworkspace
27 |
28 | # node.js
29 | #
30 | examples/build/
31 | node_modules/
32 | npm-debug.log
33 | js/build/main.js
34 | .idea
35 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/src/test/java/com/alibaba/android/qrcode/extension/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.qrcode.extension;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/extend/module/WXEventModule.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 | #import
12 |
13 | @interface WXEventModule : NSObject
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/AppDelegate.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 |
11 |
12 | @interface AppDelegate : UIResponder
13 |
14 | @property (strong, nonatomic) UIWindow *window;
15 | @property (strong, nonatomic) NSString *latestVer;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/CustomEBHandler.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import "CustomEBHandler.h"
10 |
11 | @implementation CustomEBHandler
12 |
13 | - (void)execute:(NSDictionary *)model to:(id)target {
14 | // NSLog(@"%@", model);
15 | }
16 |
17 | - (NSDictionary *)customScope {
18 | return nil;
19 | }
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright 2018 Alibaba Group
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBHandlerFactory.h:
--------------------------------------------------------------------------------
1 | //
2 | // EBHandlerFactory.h
3 | // BindingX
4 | //
5 | // Created by 对象 on 2018/4/2.
6 | // Copyright © 2018年 weexplugin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @protocol EBHandlerProtocol
12 |
13 | - (void)execute:(NSDictionary *)model to:(id)target;
14 |
15 | @end
16 |
17 | @interface EBHandlerFactory : NSObject
18 |
19 | + (NSArray>*)handlers;
20 |
21 | + (void)addHandler:(id)handler;
22 |
23 | + (void)removeHandler:(id)handler;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/src/main/java/com/alibaba/android/bindingx/plugin/android/INativeViewUpdater.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.bindingx.plugin.android;
2 |
3 | import android.support.annotation.NonNull;
4 | import android.view.View;
5 |
6 | import com.alibaba.android.bindingx.core.PlatformManager;
7 |
8 | import java.util.Map;
9 |
10 | public interface INativeViewUpdater {
11 |
12 | void update(@NonNull View targetView,
13 | @NonNull Object cmd,
14 | @NonNull PlatformManager.IDeviceResolutionTranslator translator,
15 | @NonNull Map config);
16 | }
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/lottie/WXLottieComponent.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 | #import
12 | #import
13 |
14 | @interface WXLottieComponent : WXComponent
15 |
16 | - (void)setProgress:(CGFloat)progress;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/src/main/java/com/alibaba/android/bindingx/plugin/android/model/BindingXSpec.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.bindingx.plugin.android.model;
2 |
3 | import com.alibaba.android.bindingx.core.internal.ExpressionPair;
4 |
5 | import java.util.List;
6 | import java.util.Map;
7 |
8 | /**
9 | * Description:
10 | *
11 | * Created by rowandjj(chuyi)
12 | */
13 | public class BindingXSpec {
14 | public String eventType;
15 | public String anchor;
16 | public Map options;
17 | public ExpressionPair exitExpression;
18 | public List expressionProps;
19 | }
20 |
--------------------------------------------------------------------------------
/weex/android/bindingx_weex_plugin/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/pan.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/async.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/delete.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/lottie.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/timing.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/orientation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/core/web-polifill/demo/scroll.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | import {parse} from 'bindingx-parser';
4 | import bindingx from '../src/';
5 |
6 | const scrollView = document.getElementById('scrollView');
7 | const block = document.getElementById('block');
8 |
9 | const expressionOpacity = 'max(0,min(1,y/750))';
10 |
11 | bindingx.bind({
12 | anchor: scrollView,
13 | eventType: 'scroll',
14 | props: [
15 | {
16 | element: block,
17 | property: 'opacity',
18 | expression: {
19 | origin: expressionOpacity,
20 | transformed: parse(expressionOpacity)
21 | }
22 | }
23 | ]
24 | }, (e) => {
25 |
26 |
27 | });
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/UIViewController+WXDemoNaviBar.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import "DemoDefine.h"
11 |
12 | @interface UIViewController (WXDemoNaviBar)
13 |
14 | /**
15 | * back button click action
16 | * @param sender responder
17 | */
18 | - (void)backButtonClicked:(id)sender;
19 |
20 | - (void)setupNaviBar;
21 |
22 | @end
23 |
24 |
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN.xcodeproj/xcuserdata/huxiaoqi.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | BindingDemoRN.xcscheme
8 |
9 | orderHint
10 | 7
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | D988D800200303AB00A87F3E
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/native/android/playground/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.1.2'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/web/react-native-bindingx/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-bindingx",
3 | "version": "0.0.7",
4 | "description": "Bindingx for react-native",
5 | "main": "src/index.js",
6 | "scripts": {
7 | "start": "node webpack.dev.config.js",
8 | "build": "webpack",
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "keywords": [
12 | "bindingx",
13 | "expression",
14 | "binding",
15 | "reactnative",
16 | "react"
17 | ],
18 | "peerDependencies":{
19 | "react-native": "^0.54.4"
20 | },
21 | "dependencies": {
22 | "bindingx-parser": "^0.0.2"
23 | },
24 | "devDependencies": {},
25 | "author": "",
26 | "license": "Apache-2.0"
27 | }
28 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/WXDemoViewController.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import
10 | #import
11 |
12 | @interface WXDemoViewController : UIViewController
13 |
14 | @property (nonatomic, strong) NSString *script;
15 | @property (nonatomic, strong) NSURL *url;
16 |
17 | @property (nonatomic, strong) SRWebSocket *hotReloadSocket;
18 | @property (nonatomic, strong) NSString *source;
19 |
20 | @end
21 |
22 |
--------------------------------------------------------------------------------
/core/web-polifill/demo/pan.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | Demo
9 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/core/web-polifill/demo/orientation.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | import {parse} from 'bindingx-parser';
4 | import bindingx from '../src/';
5 |
6 | let x = 0;
7 | let y = 0;
8 |
9 | const block = document.getElementById('block');
10 |
11 |
12 | bindingx.bind({
13 | eventType: 'orientation',
14 | props: [
15 | {
16 | element: block,
17 | property: 'transform.translateX',
18 | expression: {
19 | origin: `x+0`,
20 | transformed: parse(`x+0`)
21 | }
22 | },
23 | {
24 | element: block,
25 | property: 'transform.translateY',
26 | expression: {
27 | origin: `y+0`,
28 | transformed: parse(`y+0`)
29 | }
30 | },
31 |
32 | ]
33 | }, (e) => {
34 |
35 | });
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/core/web-polifill/demo/orientation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | Demo
9 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBExpressionTiming.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBExpressionHandler.h"
18 |
19 | @interface EBExpressionTiming : EBExpressionHandler
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBExpressionScroller.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBExpressionHandler.h"
18 |
19 | @interface EBExpressionScroller : EBExpressionHandler
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/native/android/playground/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/svg.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 | bindingx-core
20 |
21 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBExpressionOrientation.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBExpressionHandler.h"
18 |
19 | @interface EBExpressionOrientation : EBExpressionHandler
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/scroll.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/core/ios/BindingXTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBJSEvaluate.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBNativeFunction.h"
18 |
19 | @interface EBJSEvaluate: NSObject
20 |
21 | + (EBNativeFunction *)evaluateColor;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/core/web-polifill/demo/lottie.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | Demo
9 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/react-native/lib/android/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 | bindingx_react-native_plugin
20 |
21 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBExpressionScroller.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBExpressionHandler.h"
18 |
19 | @interface EBExpressionScroller : EBExpressionHandler
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBExpressionTiming.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBExpressionHandler.h"
18 |
19 | @interface EBExpressionTiming : EBExpressionHandler
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/weex/android/bindingx_weex_plugin/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 | binding_weex_plugin
20 |
21 |
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 | bindingx-weex
20 |
21 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 | binding_weex_plugin
20 |
21 |
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 | bindingx-RN
20 |
21 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBExpressionGesture.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBExpressionHandler.h"
19 |
20 | @interface EBExpressionGesture : EBExpressionHandler
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBExpressionOrientation.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBExpressionHandler.h"
18 |
19 | @interface EBExpressionOrientation : EBExpressionHandler
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/changelog.md:
--------------------------------------------------------------------------------
1 | ### bindingx-core changelog
2 |
3 | #### 1.0.0
4 |
5 | 1. 初始版本。
6 |
7 | #### 1.0.1
8 |
9 | 1. 代码重构,细节优化。
10 |
11 | #### 1.0.2
12 |
13 | 1. 增加统一的属性拦截器,可以拦截或者覆盖默认的视图更新行为。
14 |
15 | #### 1.0.3
16 |
17 | 1. 对虚拟节点进行特殊处理
18 | 2. 修改拦截器逻辑,忽略返回值
19 |
20 | #### 1.0.4
21 |
22 | 1. 增加日志开关,可以在运行时输出内部变量值
23 |
24 | #### 1.0.5
25 |
26 | 1. 统一属性拦截器执行线程为UI线程
27 |
28 | #### 1.0.6
29 |
30 | 1. minsdkVersion降到14
31 |
32 | #### 1.0.7
33 |
34 | 1. 支持注入自定义函数
35 |
36 | #### 1.0.8
37 |
38 | 1. 支持自定义事件处理器
39 |
40 | #### 1.0.9
41 |
42 | 1. 支持注入拦截器。拦截器用来定义回调时机。
43 |
44 | #### 1.0.9.1
45 |
46 | 1. 增加registerEventHandler的静态方法版本
47 |
48 | #### 1.0.9.2 & 1.0.9.3 & 1.0.9.4
49 |
50 | 1. 兼容devtool
51 |
52 | #### 1.0.9.5
53 |
54 | 1. bind方法支持传扩展参数
55 |
56 | #### 1.0.9.6
57 |
58 | 1. 合并两个特性分支(手势/native plugin),重新打包
--------------------------------------------------------------------------------
/core/ios/BindingX/NSObject+EBTuplePacker.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBTaffyTuple.h"
19 |
20 | @interface NSObject (EBTuplePacker)
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/weex/ios/Sources/EBWXModule.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import
19 |
20 | @interface EBWXModule : NSObject
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 26
5 |
6 |
7 |
8 | defaultConfig {
9 | minSdkVersion 16
10 | targetSdkVersion 26
11 | versionCode 1
12 | versionName "1.0"
13 |
14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15 |
16 | }
17 |
18 | buildTypes {
19 | release {
20 | minifyEnabled false
21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22 | }
23 | }
24 |
25 | }
26 |
27 | dependencies {
28 | implementation fileTree(dir: 'libs', include: ['*.jar'])
29 |
30 | implementation 'com.android.support:appcompat-v7:26.1.0'
31 | compileOnly 'com.google.zxing:core:3.3.0'
32 | }
33 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBExpressionScope.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface EBExpressionScope : NSObject
20 |
21 | + (NSMutableDictionary *)generalScope;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBJSEvaluate.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBNativeFunction.h"
18 |
19 | @interface EBJSEvaluate: NSObject
20 |
21 | + (EBNativeFunction *)evaluateColor;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/src/main/java/com/alibaba/android/qrcode/extension/core/CameraWrapper.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.qrcode.extension.core;
2 |
3 | import android.hardware.Camera;
4 |
5 | public class CameraWrapper {
6 | public final Camera mCamera;
7 | public final int mCameraId;
8 |
9 | private CameraWrapper(Camera camera, int cameraId) {
10 | if (camera == null) {
11 | throw new NullPointerException("Camera cannot be null");
12 | }
13 | this.mCamera = camera;
14 | this.mCameraId = cameraId;
15 | }
16 |
17 | public static CameraWrapper getWrapper(Camera camera, int cameraId) {
18 | if (camera == null) {
19 | return null;
20 | } else {
21 | return new CameraWrapper(camera, cameraId);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/weex/ios/Sources/EBWXUtils.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface EBWXUtils : NSObject
20 |
21 | + (NSDictionary *)cssPropertyMapping;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/parser/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bindingx-parser",
3 | "version": "0.0.3",
4 | "description": "Expression parser for bindingx",
5 | "main": "lib/index.js",
6 | "scripts": {
7 | "start": "webpack-dev-server --config webpack.dev.config.js",
8 | "build": "webpack",
9 | "test": "mocha test/parse-test.js"
10 | },
11 | "keywords": [
12 | "bindingx",
13 | "parser",
14 | "expression"
15 | ],
16 | "author": "",
17 | "license": "Apache-2.0",
18 | "devDependencies": {
19 | "chai": "^4.1.2",
20 | "babel-core": "^6.26.0",
21 | "babel-loader": "^7.1.2",
22 | "babel-plugin-add-module-exports": "^0.2.1",
23 | "babel-preset-es2015": "^6.24.1",
24 | "babel-preset-react": "^6.24.1",
25 | "babel-preset-stage-0": "^6.24.1",
26 | "webpack": "^3.8.1",
27 | "webpack-dev-server": "^2.7.1"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBExpressionScope.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface EBExpressionScope : NSObject
20 |
21 | + (NSMutableDictionary *)generalScope;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/NSObject+EBTuplePacker.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBTaffyTuple.h"
19 |
20 | @interface NSObject (EBTuplePacker)
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/src/main/java/com/alibaba/android/bindingx/core/internal/JSObjectInterface.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.alibaba.android.bindingx.core.internal;
17 |
18 | public interface JSObjectInterface {
19 | }
20 |
--------------------------------------------------------------------------------
/weex/ios/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/EBUtility+RN.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import "EBUtility.h"
18 | #import
19 |
20 | @interface EBUtility (RN)
21 |
22 | + (void)setUIManager:(RCTUIManager *)uiManager;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/react-native/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-bindingx",
3 | "version": "0.1.2",
4 | "scripts": {
5 | "start": "npm install && node node_modules/react-native/local-cli/cli.js start --root ./example",
6 | "postinstall": "ln -sf lib/{ios,android} .",
7 | "prepublish": "",
8 | "test": "jest"
9 | },
10 | "main": "lib/index.js",
11 | "nativePackage": true,
12 | "dependencies": {
13 | "bindingx-parser": "^0.0.2"
14 | },
15 | "peerDependencies": {
16 | "react": "^16.0.0",
17 | "react-native": "^0.51.0"
18 | },
19 | "devDependencies": {
20 | "babel-jest": "22.0.3",
21 | "babel-preset-react-native": "4.0.0",
22 | "hoek": "^5.0.3",
23 | "jest": "22.4.3",
24 | "react-test-renderer": "16.0.0",
25 | "react-navigation": "^1.5.8"
26 | },
27 | "jest": {
28 | "preset": "react-native"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/weex/playground/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
19 | android.useDeprecatedNdk=true
20 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/react-native/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
19 | android.useDeprecatedNdk=true
20 |
--------------------------------------------------------------------------------
/react-native/lib/android/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexUITestDemoUITests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/weex/android/bindingx_weex_plugin/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/native/android/bindingx_android_plugin/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/AppDelegate.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface AppDelegate : UIResponder
20 |
21 | @property (strong, nonatomic) UIWindow *window;
22 |
23 |
24 | @end
25 |
26 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/pan.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | BindingX Demo
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/lottie/WXLottieBindingXHandler.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import "WXLottieBindingXHandler.h"
10 | #import "WXLottieComponent.h"
11 |
12 | @implementation WXLottieBindingXHandler
13 |
14 | - (void)execute:(NSDictionary *)properties to:(id)target {
15 | if ([target isKindOfClass:WXLottieComponent.class]) {
16 | id progress = properties[@"lottie-progress"];
17 | if (progress) {
18 | WXLottieComponent *lottie = (WXLottieComponent *)target;
19 | [lottie setProgress:[WXConvert CGFloat:progress]];
20 | }
21 | }
22 | }
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/core/ios/BindingX/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/native/android/playground/playground-android/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/timing.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | BindingX Demo
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/orientation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | BindingX Demo
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBExpression.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | @interface EBExpression: NSObject
18 |
19 | @property(nonatomic, strong) NSDictionary *root;
20 |
21 | - (id)initWithRoot:(NSDictionary*) root;
22 | - (NSObject*)executeInScope:(NSDictionary *)scope;
23 |
24 | @end
25 |
26 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/vue/scroll.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | BindingX Demo
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/weex/playground/android/qrcode_extends/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/core/ios/BindingXTests/EBTestUtils.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBExpression.h"
19 | #import "EBExpressionScope.h"
20 |
21 | @interface EBTestUtils : NSObject
22 |
23 | + (EBExpression *)expressionFromJSON:(NSString *)json;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/core/web-polifill/demo/timing.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | Demo
9 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBExpression.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | @interface EBExpression: NSObject
18 |
19 | @property(nonatomic, strong) NSDictionary *root;
20 |
21 | - (id)initWithRoot:(NSDictionary*) root;
22 | - (NSObject*)executeInScope:(NSDictionary *)scope;
23 |
24 | @end
25 |
26 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBExpressionGesture.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBExpressionHandler.h"
19 |
20 |
21 | @interface EBExpressionGesture : EBExpressionHandler
22 |
23 | @property (nonatomic, weak) UIGestureRecognizer *gesture;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/weex/ios/Sources/EBWXOldModule.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import
19 |
20 | __attribute__ ((deprecated("EBWXOldModule is deprecated, EBWXModule instead it.")))
21 | @interface EBWXOldModule : NSObject
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/react-native/example/ios/BindingDemoRN/main.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "AppDelegate.h"
19 |
20 | int main(int argc, char * argv[]) {
21 | @autoreleasepool {
22 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/weex/build/webpack.config.js:
--------------------------------------------------------------------------------
1 |
2 | var fs = require('fs');
3 | var webpack = require('webpack');
4 |
5 |
6 | var bannerExcludeFiles = [];
7 |
8 | var banner = '// { "framework": "Vue" }\n'
9 |
10 | var bannerPlugin = new webpack.BannerPlugin(banner, {
11 | raw: true,
12 | exclude: bannerExcludeFiles
13 | })
14 |
15 | module.exports = {
16 | entry: "./js/src/index.js",
17 | output : {
18 | path: './js/build/',
19 | filename: '[name].js'
20 | },
21 | module: {
22 | loaders: [
23 | {
24 | test: /\.(we|vue)(\?[^?]+)?$/,
25 | loader: 'weex'
26 | },
27 | {
28 | test: /\.js(\?[^?]+)?$/,
29 | exclude: /node_modules/,
30 | loader: 'babel-loader?presets[]=es2015',
31 | },
32 | {
33 | test: /\.css(\?[^?]+)?$/,
34 | loader: 'style-loader!css-loader'
35 | }
36 | ]
37 | },
38 | plugins: [bannerPlugin]
39 | }
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/core/web-polifill/src/lib/math.js:
--------------------------------------------------------------------------------
1 | /**
2 | Copyright 2018 Alibaba Group
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | let _Math = {
18 | DEG2RAD: Math.PI / 180,
19 | RAD2DEG: 180 / Math.PI,
20 | degToRad: function(degrees) {
21 | return degrees * _Math.DEG2RAD;
22 | },
23 | radToDeg: function(radians) {
24 | return radians * _Math.RAD2DEG;
25 | }
26 | };
27 |
28 | export default _Math;
--------------------------------------------------------------------------------
/core/ios/BindingX/EBJSTransform.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBNativeFunction.h"
19 |
20 | @interface EBJSTransform : NSObject
21 |
22 | + (EBNativeFunction *)translate;
23 | + (EBNativeFunction *)scale;
24 | + (EBNativeFunction *)matrix;
25 | + (EBNativeFunction *)asArray;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/core/web-polifill/src/lib/handlers/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | Copyright 2018 Alibaba Group
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | 'use strict';
18 |
19 | import PanHandler from './pan';
20 | import OrientationHandler from './orientation';
21 | import TimingHandler from './timing';
22 | import ScrollHandler from './scroll';
23 | export {
24 | PanHandler,
25 | OrientationHandler,
26 | TimingHandler,
27 | ScrollHandler
28 | };
--------------------------------------------------------------------------------
/native/android/playground/playground-android/src/androidTest/java/com/alibaba/android/playground/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.alibaba.android.playground;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.alibaba.android.playground", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 | #3F51B5
21 | #303F9F
22 | #FF4081
23 |
24 |
--------------------------------------------------------------------------------
/react-native/example/ios/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, '8.0'
3 | #inhibit_all_warnings!
4 |
5 | target 'BindingDemoRN' do
6 |
7 | pod 'BindingX', :path => '../../../BindingX-react-native.podspec'
8 |
9 | pod 'React', :path => '../../node_modules/react-native/React.podspec', :subspecs => [
10 | 'Core',
11 | 'RCTText',
12 | 'RCTNetwork’,
13 | 'RCTWebSocket',
14 | 'CxxBridge',
15 | 'RCTAnimation',
16 | 'RCTLinkingIOS',
17 | 'RCTImage',
18 | ]
19 |
20 | pod 'yoga', :path => '../../node_modules/react-native/ReactCommon/yoga'
21 |
22 | # Third party deps podspec link
23 | pod 'DoubleConversion', :podspec => '../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
24 | pod 'GLog', :podspec => '../../node_modules/react-native/third-party-podspecs/GLog.podspec'
25 | pod 'Folly', :podspec => '../../node_modules/react-native/third-party-podspecs/Folly.podspec'
26 |
27 | end
28 |
--------------------------------------------------------------------------------
/weex/playground/android/playground-weex/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 | #3F51B5
21 | #303F9F
22 | #FF4081
23 |
24 |
--------------------------------------------------------------------------------
/core/web-polifill/README.md:
--------------------------------------------------------------------------------
1 | ## bindingx-web-polyfill
2 |
3 |
4 | ## Install & Use
5 |
6 | ```
7 |
8 | import bindingx from 'bindingx-web-polyfill';
9 |
10 | var blockEl = document.getElementById('block');
11 |
12 | var x = 0;
13 |
14 | function bind() {
15 | bindingx.bind({
16 | anchor: blockEl,
17 | eventType: 'pan',
18 | options: {
19 | touchAction: 'pan-x'
20 | },
21 | props: [
22 | {
23 | element: blockEl,
24 | property: 'transform.translateX',
25 | expression: {
26 | transformed: `{\"type\":\"+\",\"children\":[{\"type\":\"Identifier\",\"value\":\"x\"},{\"type\":\"NumericLiteral\",\"value\":${x}}]}`
27 | }
28 | }
29 | ]
30 | }, (e) => {
31 | if (e.state === 'end') {
32 | x += e.deltaX;
33 | }
34 | });
35 | }
36 |
37 | bind();
38 |
39 | blockEl.addEventListener('touchstart', () => {
40 | bind();
41 | });
42 |
43 |
44 |
45 | ```
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBNativeFunction.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface EBNativeFunction: NSObject
20 |
21 | @property(nonatomic, strong) NSObject* (^body)(NSArray* arguments);
22 |
23 | - (id)initWithBody:(NSObject* (^)(NSArray*))body;
24 |
25 | - (NSObject*)call:(NSArray *)arguments;
26 |
27 | @end
28 |
29 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBJSTransform.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBNativeFunction.h"
19 |
20 | @interface EBJSTransform : NSObject
21 |
22 | + (EBNativeFunction *)translate;
23 | + (EBNativeFunction *)scale;
24 | + (EBNativeFunction *)matrix;
25 | + (EBNativeFunction *)asArray;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/weex/ios/Sources/EBUtility+WX.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBUtility.h"
19 |
20 | @interface EBUtility(WX)
21 |
22 | + (NSNumber *)transformFactor:(NSString *)key layer:(CALayer* )layer;
23 | + (NSString *)colorAsString:(CGColorRef)cgColor;
24 | + (NSNumber *)radian2Angle:(NSNumber *)radian;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/core/ios/BindingX/BindingX.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | FOUNDATION_EXPORT double BindingXVersionNumber;
20 |
21 | FOUNDATION_EXPORT const unsigned char BindingXVersionString[];
22 |
23 | #import
24 | #import
25 | #import
26 |
--------------------------------------------------------------------------------
/react-native/lib/ios/RNBindingX/core/EBNativeFunction.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface EBNativeFunction: NSObject
20 |
21 | @property(nonatomic, strong) NSObject* (^body)(NSArray* arguments);
22 |
23 | - (id)initWithBody:(NSObject* (^)(NSArray*))body;
24 |
25 | - (NSObject*)call:(NSArray *)arguments;
26 |
27 | @end
28 |
29 |
--------------------------------------------------------------------------------
/web/weex-bindingx/demo/rax/menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | BindingX Demo
9 |
22 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/BindingX-react-native.podspec:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 |
3 | Pod::Spec.new do |s|
4 | s.name = "BindingX"
5 | s.version = "1.0.2"
6 | s.summary = "BindingX RN Plugin"
7 |
8 | s.description = <<-DESC
9 | It provides a way called expression binding for handling complex user interaction with views at 60 FPS in weex.
10 | DESC
11 |
12 | s.homepage = "https://github.com/alibaba/bindingx"
13 | s.license = {
14 | :type => 'Copyright',
15 | :text => <<-LICENSE
16 | Alibaba-INC copyright
17 | LICENSE
18 | }
19 | s.authors = {
20 | "hjhcn" =>"380050803@qq.com"
21 | }
22 | s.platform = :ios
23 | s.ios.deployment_target = "8.0"
24 |
25 | s.source = { :path => '.' }
26 | s.source_files = "core/ios/BindingX/**/*.{h,m,mm}" , "react-native/lib/ios/RNBindingX/*.{h,m,mm}"
27 |
28 | s.requires_arc = true
29 | s.dependency "React"
30 | s.dependency "yoga"
31 | end
32 |
--------------------------------------------------------------------------------
/core/ios/BindingXTests/EBTestCase.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBTestUtils.h"
19 |
20 | @interface EBTestCase : XCTestCase
21 |
22 | @property(nonatomic, strong) NSMutableDictionary *scope;
23 |
24 | - (void)AssertEqualObjects:(NSObject *)object withNewScope:(NSDictionary *)newScope expression:(EBExpression *)expression;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBExpressionExecutor.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 | #import "EBExpressionProperty.h"
19 |
20 | @interface EBExpressionExecutor : NSObject
21 |
22 | + (BOOL)executeExpression:(NSMapTable *)expressionMap
23 | exitExpression:(NSDictionary *)exitExpression
24 | scope:(NSDictionary *)scope;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/parser/webpack.config.js:
--------------------------------------------------------------------------------
1 | var webpack = require('webpack');
2 |
3 | module.exports = {
4 | plugins: [
5 | ],
6 | entry: {
7 | index: './src/index.js'
8 | },
9 | output: {
10 | path: __dirname + '/lib/',
11 | filename: '[name].js',
12 | libraryTarget:'umd'
13 | },
14 | devServer: {
15 | contentBase: "./demo",
16 | historyApiFallback: true,
17 | inline: true,
18 | publicPath: '/dist/'
19 | },
20 | module: {
21 | loaders: [
22 | {
23 | test: /\.css$/,
24 | loader: 'style-loader!css-loader'
25 | },
26 | // {
27 | // test: /\.js$/,
28 | // loader: 'jsx-loader?harmony'
29 | // },
30 | {
31 | test: /\.(png|jpg)$/,
32 | loader: 'url-loader?limit=8192'
33 | },
34 | {
35 | test: /\.jsx?$/,
36 | loader: 'babel-loader',
37 | exclude: /node_modules/,
38 | query: {
39 | presets: ['es2015','stage-0']
40 | }
41 | }
42 | ]
43 | }
44 | };
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/WXSyncTestModule.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import "WXSyncTestModule.h"
10 |
11 | @implementation WXSyncTestModule
12 |
13 | WX_EXPORT_METHOD_SYNC(@selector(getString))
14 | WX_EXPORT_METHOD_SYNC(@selector(getNumber))
15 | WX_EXPORT_METHOD_SYNC(@selector(getArray))
16 | WX_EXPORT_METHOD_SYNC(@selector(getObject))
17 |
18 | - (NSString *)getString
19 | {
20 | return @"testString";
21 | }
22 |
23 | - (NSUInteger)getNumber
24 | {
25 | return 111111;
26 | }
27 |
28 | - (NSArray *)getArray
29 | {
30 | return @[@(111111),@"testString",@"testString2"];
31 | }
32 |
33 | - (NSDictionary *)getObject
34 | {
35 | return @{@"number":@(111111), @"string1":@"testString",@"string2":@"testString2"};
36 | }
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/react-native/example/android/playground-rn/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
25 |
26 |
--------------------------------------------------------------------------------
/core/web-polifill/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bindingx-web-polyfill",
3 | "version": "0.1.14",
4 | "description": "The web polyfill for BindingX.",
5 | "main": "lib/index.js",
6 | "scripts": {
7 | "start": "webpack-dev-server --config webpack.dev.config.js",
8 | "build": "webpack",
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "keywords": [
12 | "bindingx",
13 | "web",
14 | "html5",
15 | "polyfill"
16 | ],
17 | "author": "",
18 | "license": "Apache-2.0",
19 | "devDependencies": {
20 | "babel-core": "^6.26.0",
21 | "babel-loader": "^7.1.2",
22 | "babel-plugin-add-module-exports": "^0.2.1",
23 | "babel-preset-es2015": "^6.24.1",
24 | "babel-preset-react": "^6.24.1",
25 | "babel-preset-stage-0": "^6.24.1",
26 | "bindingx-parser": "^0.0.3",
27 | "webpack": "^3.8.1",
28 | "webpack-dev-server": "^2.7.1"
29 | },
30 | "dependencies": {
31 | "animation-util": "^1.0.10",
32 | "object-assign": "^4.1.1",
33 | "simple-lodash": "^0.0.3"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/weex/playground/ios/WeexDemo/DemoBaseViewController.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 | #import "DemoBaseViewController.h"
10 | #import "UIViewController+WXDemoNaviBar.h"
11 |
12 | @interface DemoBaseViewController ()
13 |
14 | @end
15 |
16 | @implementation DemoBaseViewController
17 |
18 | - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
19 | {
20 | return [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
21 | }
22 |
23 | - (void)viewDidLoad {
24 | [super viewDidLoad];
25 | // Do any additional setup after loading the view.
26 | [self setupNaviBar];
27 | }
28 |
29 | - (void)didReceiveMemoryWarning {
30 | [super didReceiveMemoryWarning];
31 | // Dispose of any resources that can be recreated.
32 | }
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/core/ios/BindingX/EBGyroVector3.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | #import
17 |
18 | @interface EBGyroVector3: NSObject
19 |
20 | @property(nonatomic,assign) double x;
21 | @property(nonatomic,assign) double y;
22 | @property(nonatomic,assign) double z;
23 |
24 | + (instancetype)vectorWithX:(double)x y:(double)y z:(double)z;
25 |
26 | - (instancetype)applyQuaternionW:(double)qw x:(double)qx y:(double)qy z:(double)qz;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/core/android/bindingx-core/src/main/java/com/alibaba/android/bindingx/core/internal/JSFunctionInterface.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2018 Alibaba Group
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.alibaba.android.bindingx.core.internal;
17 |
18 | import org.json.JSONException;
19 |
20 | import java.util.ArrayList;
21 |
22 | public interface JSFunctionInterface extends JSObjectInterface {
23 | Object execute(ArrayList