UNPKG

tandem-front-end

Version:

Visual editor for web components

51 lines (48 loc) 2.67 kB
"use strict"; /* TODOS: - [ ] display expressions within each open file */ Object.defineProperty(exports, "__esModule", { value: true }); require("./index.scss"); var React = require("react"); var recompose_1 = require("recompose"); var pane_1 = require("../../../../pane"); var cx = require("classnames"); var path = require("path"); var layers_1 = require("./layers"); var actions_1 = require("../../../../../actions"); var BaseOpenFileComponent = function (_a) { var dispatch = _a.dispatch, root = _a.root, _b = _a.openFile, temporary = _b.temporary, uri = _b.uri, newContent = _b.newContent, active = _a.active, onClick = _a.onClick, onCloseClick = _a.onCloseClick; return (React.createElement("div", { className: cx("open-file", { temporary: temporary, active: active, unsaved: !!newContent }) }, React.createElement("div", { className: "label", onClick: onClick }, React.createElement("i", { className: "ion-close", onClick: onCloseClick }), newContent ? (React.createElement("i", { className: "ion-record", onClick: onCloseClick })) : null, React.createElement("div", { className: "basename" }, path.basename(uri)), React.createElement("div", { className: "uri" }, uri)), React.createElement("div", { className: "layers" }, React.createElement(layers_1.LayersComponent, { dispatch: dispatch, root: root, uri: uri })))); }; var OpenFileComponent = recompose_1.compose(recompose_1.pure, recompose_1.withHandlers({ onClick: function (_a) { var dispatch = _a.dispatch, openFile = _a.openFile; return function (event) { dispatch(actions_1.openFilesItemClick(openFile.uri, event)); }; }, onCloseClick: function (_a) { var dispatch = _a.dispatch, openFile = _a.openFile; return function (event) { event.stopPropagation(); dispatch(actions_1.openFilesItemCloseClick(openFile.uri)); }; } }))(BaseOpenFileComponent); var BaseOpenFilesPaneComponent = function (_a) { var editorWindows = _a.editorWindows, root = _a.root, dispatch = _a.dispatch; return (React.createElement(pane_1.PaneComponent, { header: "Open Files", className: "m-open-files-pane" }, root.openFiles.map(function (openFile) { return (React.createElement(OpenFileComponent, { root: root, key: openFile.uri, openFile: openFile, dispatch: dispatch, active: editorWindows.some(function (editorWindow) { return editorWindow.activeFilePath === openFile.uri; }) })); }))); }; exports.OpenFilesPaneComponent = recompose_1.compose(recompose_1.pure)(BaseOpenFilesPaneComponent); //# sourceMappingURL=index.js.map