X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Flogging%2Fsrc%2FloggingWidgets.jsx;fp=skyquake%2Fplugins%2Flogging%2Fsrc%2FloggingWidgets.jsx;h=173554c58f97c05f0fdde45713f767b3033d8808;hp=0000000000000000000000000000000000000000;hb=e29efc315df33d546237e270470916e26df391d6;hpb=9c5e457509ba5a1822c316635c6308874e61b4b9 diff --git a/skyquake/plugins/logging/src/loggingWidgets.jsx b/skyquake/plugins/logging/src/loggingWidgets.jsx new file mode 100644 index 000000000..173554c58 --- /dev/null +++ b/skyquake/plugins/logging/src/loggingWidgets.jsx @@ -0,0 +1,105 @@ + /* + * + * Copyright 2016 RIFT.IO Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + import React from 'react'; + + // import sass + + + // --- --- +// Generalized component classes +// --- --- + +class DropList extends React.Component { + + handleOnChange = (e) => { + this.props.onChange(e.target.value); + } + + render() { + const {className, selectedOption, options, ...props} = this.props; + return ( + + ); + } +} +DropList.defaultProps = { + options: [], + onChange: function(e) { + console.log("DropList defaultProps onChange called, e=", e); + } +} + +class RadioButtonGroup extends React.Component { + + /** + * + * TODO: Enable option to swap order of radio button and label + */ + render() { + const {className, items, selectedItem, radioGroupName, onChange, ...props} = this.props; + return ( +
+ { + items.map(function(item, index) { + return ( +
+ + +
+ ); + }) + } +
+ ); + } +} + +/** + * + */ +// TODO: support externally defined className(s) +class CardSection extends React.Component { + + render() { + const {title, children, ...props} = this.props; + return ( +
+
{title}
+ {children} +
+ ); + } +} + +module.exports = { + DropList: DropList, + RadioButtonGroup: RadioButtonGroup, + CardSection: CardSection +}