Code Monkey home page Code Monkey logo

widgets-resources's Introduction

E2E Status Unit tests Script Tests Atlas build Atlas Release Publisn NPM Mendix 9

Widgets resources

A bundle of R&D Platform supported widgets & nanoflow actions for building native mobile & hybrid apps.

Native widgets

Please visit the Mendix Docs for more information on list of available native widgets on Native Mobile Resources module.

Web & Hybrid widgets

Widget Description
Badge Display text or a value as a badge.
Badge Button Display a button with a badge.
Fieldset Group form widgets.
Range Slider Displays a slider with min and max.
Rich Text Display a full text editor.
Signature Displays a signature pad.
Slider Display a slider.
Switch Displays a switch.
Video player Play a video loaded from a URL.

Included nanoflow actions

Category Action
Authentication Biometric authentication
Is biometric authentication supported
Camera Save to picture library
Take picture
Take picture advanced
Clipboard Get clipboard content
Set clipboard content
Network Is cellular connection
Is connected
Is wifi connection
Notifications Cancel all scheduled notifications
Cancel schedule notification
Display notification
Get push notification token
Has notification permission
Request notification permission
Schedule notification
Set badge number
Platform Change status bar
Get device info
Hide keyboard
Open in app browser
Play sound
Vibrate

Documentation

Please visit the Mendix Docs for more information on building native mobile apps.

Contributing

See CONTRIBUTING.md.

Developing

  • npm install on root

For developing native widgets in packages/pluggableWidgets:

  • Create a simple Mendix project in Studio
  • Copy all of it's contents to packages-native/test-project.
  • Run npm run build on a desired widget folder. For ex: packages/pluggableWidgets/badge-native/. This will build and copy the mpk to the test-project's correct widget folder.
  • Open and run the project in packages-native/test-project with Mendix Studio

For developing web widgets in packages/pluggableWidgets:

  • Mendix projects for each widget already comes with repo with folder called packages/pluggableWidgets/<widgetName>/tests/testProject. If you do not see the corresponding folder, run git submodule init && git submodule update.
  • Run npm run pretest:e2e to initialize Mendix project.
  • Run npm run build on a desired widget folder. For ex: packages/pluggableWidgets/badge-web. This will build and copy the mpk to each Mendix project's correct widget folder.
  • Open and run the project in <widgetName>/tests/testProject with Mendix Studio

Adding new test project to the repo

  • Go to https://github.com/mendix/testProjects and create a appropriate branch name from master
  • Add your .mpr files, commit and push (remember your branch name)
  • Go to widgets-resources monorepo and in root folder execute git submodule add -b your-branch-name-of-testprojects https://github.com/mendix/testProjects.git /necessary-folder-names/tests/testProject

Note: Do not manually change the .gitmodules since this wont work when adding new submodules.

For developing in packages/jsActions:

  • Create a simple Mendix project in Studio.
  • Copy all of it's contents to packages/jsActions/nanoflow-commons/dist/mxproject.
  • Run npm run build on nanoflow-commons. This will build and copy the mpk to dist/mxproject's correct folder.

Please bear in mind that when you develop JSActions, creation process is not automatically picked up by Modeler. Which means:

  • First you have to create the ts file in nanoflow-commons/src/.../ExampleName.ts with desired content. Please take a look at examples in src/client.
  • Second you have to create a JsAction with name ExampleName and parameters in Studio.
  • Then every time npm run build is run, the code piece between // BEGIN USER CODE and // END USER CODE will be changed. After you close and open the JSAction in Studiom changes will be picked up automatically.

Releasing Native Mobile Resources

  • Bump the version of the necessary widget by running npm run version your-widget-name desired-version
  • Create draft tag in github repo which will also create release mpk for the necessary widget npm run publish your-widget-name
  • Add notes to your draft
  • Update the necessary widgets to the Mendix Native Mobile Resources app and push the changes
  • Export the module, include every dependency
  • Create a manual tag for the exported module "Native Mobile Resources - AppStore release vx.x.x" and add the Exported Module as asset

Commiting submodules

  • Change the test project
  • Commit and push the test project in testProjects' corresponding branch
  • Go back to monorepo, commit the shown testProjects change and push

Raising problems/issues

  • We encourage everyone to open a Support ticket on Mendix Support in case of problems with widgets or scaffolding tools (Pluggable Widgets Generator or Pluggable Widgets Tools)

widgets-resources's People

Contributors

iisaku avatar mmehmetaliizci avatar diego-antonelli avatar jobvs avatar andries-smit avatar leonardomendix avatar akileng56 avatar edwinmp avatar djkwagala avatar mcdoyen avatar keraito avatar shpry avatar eheddema avatar wegiswes avatar samuelmuloki avatar jseremba avatar remcovh avatar jordanch avatar hodchux avatar acellam avatar wslysi avatar mijay avatar henkjan-van-henten-mendix avatar mgroeneweg avatar cjfhodges avatar johanflint avatar sergiuszwoznicki avatar cdcharlebois avatar tieniber avatar snyk-bot avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.