Git Product home page Git Product logo

ui's Introduction

UI

That repository was created in an effort to simplify the development of Talend's front-end stack.

Goals

  • Single code repository / Multiple packages
  • Global (cross package) test and review tools
  • Easy cross packages development
  • Share and love open source

The stack

Tools (dev environment)

We have quick access from the root to the following npm scripts:

  • postinstall (trigger build of every package)
  • pre-release (trigger build of UMD of supported package)
  • start (start the playground)
  • test
  • lint

The CI will ensure on each PR that test and lint are OK before you can merge your pull request. It will also provide you a demo so reviewers can play with your change and try to find impact of your PR on other packages.

Versions and breaking changes

The stack is stable and we do our best to not break APIs. To handle versions we rely on changeset. So on each PR you will be able to request a release intent along your changes. It will fill automatically the changelog at release time. Do not forget to commit the file outputed by the changeset CLI.

More

If you want to know more (release, versions, etc ...) please take a look on the wiki

ui's People

Contributors

acateland avatar annilsson avatar benrajalu avatar build-travis-ci avatar dependabot[bot] avatar gbacc avatar github-actions[bot] avatar gjou-tlnd avatar jlame avatar jmfrancois avatar jsomsanith avatar jsomsanith-tlnd avatar kporal avatar lmaillet avatar mhuet avatar mloussot avatar mtikhinskaya avatar nigui avatar romainseb avatar sdwvit avatar sgangnant avatar sgendre avatar smouillour avatar talend-glorieux avatar tlnd-mhuchet avatar vbocquet avatar volodymyrkovalm avatar vyshkov avatar ybaskaran avatar yyanwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ui's Issues

[containers] bug: role in list filter cause js error

From @jillyan on December 23, 2016 9:4

in https://github.com/Talend/react-talend-components/blob/master/src/List/Toolbar/Filter/Filter.component.js
role="search" cause js error.

form
className="navbar-form navbar-right"
role="search"
onSubmit={onSubmit}

error:

unmountComponentAtNode(...): Target container is not a DOM element.
Invariant Violation: unmountComponentAtNode(...): Target container is not a DOM element.
    at invariant (webpack:///./~/fbjs/lib/invariant.js?:44:15)
    at Object.unmountComponentAtNode (webpack:///./~/react-dom/lib/ReactMount.js?:440:220)
    at OverlayTrigger.componentWillUnmount (webpack:///./~/react-bootstrap/lib/OverlayTrigger.js?:178:27)
    at eval (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:409:25)
    at measureLifeCyclePerf (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:75:12)
    at ReactCompositeComponentWrapper.unmountComponent (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:408:11)
    at Object.unmountComponent (webpack:///./~/react-dom/lib/ReactReconciler.js?:79:22)
    at ReactCompositeComponentWrapper.unmountComponent (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:418:23)
    at Object.unmountComponent (webpack:///./~/react-dom/lib/ReactReconciler.js?:79:22)
    at ReactCompositeComponentWrapper.unmountComponent (webpack:///./~/react-dom/lib/ReactCompositeComponent.js?:418:23)

Copied from original issue: Talend/react-talend-components#194

[cmf] add kind of connect function to wrap components

From @jmfrancois on August 11, 2016 15:12

connect create a wrapper to let your component access to store.
But we also have i18n which need this.

This is the signal we may need other wrapper.

So should we create a function which create the needed wrapper with a simple API ?

uiWrapper(options)(MyComponent)

options should support connect, i18n and so on

Copied from original issue: Talend/react-cmf#5

[generator] react-cmf: update needed

From @jmfrancois on January 6, 2017 13:35

add missing deps

  • yarn add babel-plugin-transform-object-assign
  • yarn add redux-batched-actions
  • yarn add immutable
  • yarn add invariant
  • yarn add lodash
  • yarn add style-loader
  • yarn add css-loader
  • yarn add talend-bootstrap-theme
  • yarn add react-talend-components
  • yarn add react-talend-containers
  • yarn add lodash react-router bootstrap-sass react react-addons-css-transition-group react-bootstrap talend-icons uuid react-bootstrap react-talend-components reselect

issue on the app

index.js:8Uncaught TypeError: (0 , _reactCmf.initializeStore) is not a function
    at Object.<anonymous> (index.js:8)
    at __webpack_require__ (bootstrap e967120…:19)
    at Object.<anonymous> (bootstrap e967120…:39)
    at __webpack_require__ (bootstrap e967120…:19)
    at bootstrap e967120…:39
    at bootstrap e967120…:39

->

import React from 'react'; // don't forget that for the compiler...
import { render } from 'react-dom';
import { actions, App, store as cmfstore } from 'react-cmf';

import configure from './configure';

configure.initialize();
const store = cmfstore.initialize();
store.dispatch(actions.settingsActions.fetchSettings('/settings.json'));

render(
	<App store={store} />,
	document.getElementById('app')
);

add settings json

{
  "contentTypes": {},
  "actions": {
  },
  "views":{
  },
  "routes": {
    "path": "/",
    "component": "App"
  },
  "ref": {
  }
}

Copied from original issue: Talend/generator-talend#25

[containers] List actions wrongly displayed

From @amaalej on January 6, 2017 11:22

In released version: 0.45.0, there 2 new issues:
1 - Name actions are displayed on the very right of the table row instead of being close to the list item name.
2 - The column actions story is not working.

Copied from original issue: Talend/react-talend-components#217

[forms] can not register customer field when use form

From @jillyan on December 15, 2016 8:31

for example, in iam-ui

import TabsField from './TabsField.jsx';
...
const customFormFields = { TabsField };
<Form
 {...properties}
fields={customFormFields}
 />```


then my field TabsField can not be registered into form.

_Copied from original issue: Talend/react-talend-forms#54_

[containers] add displayName to all components

From @jmfrancois on November 15, 2016 17:13

We should add this also in the generator.

The idea is to keep the name when the code is minified.

By default react compute the display name from the function / class component name;

It's a good practice to add displayName attribute;

Copied from original issue: Talend/react-talend-components#103

[containers] [SidePanel]: Add docked persistence

From @talend-glorieux on December 26, 2016 13:55

The SidePanel currently resets itself to the expanded view everytime the browser page is refreshed.
One good improvements would be to make sure that it appears in the same state as when the user last visit.
One way to do this would be to store the "docked" state on the browser localStorage and restore the SidePanel state from it at the next session.

Copied from original issue: Talend/react-talend-containers#25

[forms] Description vs ui:help

From @jlamiel on December 7, 2016 16:35

We need to have a title on a field, sometime parameter can be complex to understand, we might need to add some documentation or links to a field.

Related to that : Widget range doesn't show the title but show the value instead and ui:help is show as well

Copied from original issue: Talend/react-talend-forms#45

[cmf] add support for i18n

From @jmfrancois on August 11, 2016 14:53

The goal is to first discuss some point and then provide an implementation in Pull request #23

Copied from original issue: Talend/react-cmf#4

[CMF] React router v4 integration

React router v4 just hit beta stage and its api is set in stone
https://twitter.com/mjackson/status/826114904914489344

Since V4 is a different beast than router V2/3 we should talk on how we will itegrate it into cmf and our apps.

Here will be collected documentation about our integration plan, links to various ressource etc.

FAQ
Bundle size ?
React Router V4 is lighter than V3/2.
What about the api change ?
React Router have completely different api for route handling and declaration wich is LOT simpler and more powerfull.
V2/3 version are dropped altogether ?
No V3 will be kept and maintened for sometime.

Please contribute in following comments.

// doc entry point
https://github.com/ReactTraining/react-router/tree/v4
// migration guide incomplete
Https://gist.github.com/mjackson/33f51e9d6b9ea18b467c613fbbcf50e1
// codepen playground
https://t.co/EUZkuDfowr

cmf: store more than an array on fetch

Currently we can only call backend services that returns an array of items to store it in CMF collections.

But TMC has pagination in place, their service returns :

{
    totalResults: 36,
    itemsPerPage: 25,
    startIndex: 1,
    Resources: [], // the items list
}

By default, CMF will store this entire object in store.cmf.collections.<provided_name>.
But with app settings, configuring a list you can only provide the collectionId. This means that the component will have the object instead of the list.

Since we need the whole information, a solution could be to pass a path instead collectionId to select a subset of that.
Or we need a solution to store the collection under the collectionId, but to store the other info somewhere else, in the actions.http.get() configuration.

[containers] List: no single/double click actions for list items

From @jillyan on January 16, 2017 3:42

according to guidlines, each item in list has the following actions:
Single click on item background selects it.
Double click on item background opens it.
http://guidelines.talend.com/document/92132#/navigation-layout/list

But now, there are no single or double click actions.

I tried to add onClick into related tr/div, it will get eslint-disable-line jsx-a11y/no-static-element-interactions error. And another pb, the input checkbox's onChange will trigger this onClick as well, so if user checked the checkbox, it would select the same item two times.
ah, really like a stalement

Copied from original issue: Talend/react-talend-components#244

[forms] Add support for filtering to dropdown widget

From @yyanwang on October 24, 2016 3:21

Currently we have Dropdown widget, which is nice, but I would like to add support of filtering to it. For example, in our app, we provide user a dropdown to select his/her timezone, which have lots of options, so it would be nice to filter the option list base on input. something like this:

anagement console20161024111402

I already have this filtering dropdown component in our project, so it would be easy to add it in talend form, and I can do this in either way:
1- extend existing dropdown;
2- OR add a separate widget for this purpose.

What do you guys think?

Copied from original issue: Talend/react-talend-forms#24

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.