From 15d9d864b539e221c6494b3535abef724517f207 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 16 Mar 2021 18:19:26 +0100 Subject: uploading audio files and displaying them in a list --- frontend/app/types.js | 1 + 1 file changed, 1 insertion(+) (limited to 'frontend/app/types.js') diff --git a/frontend/app/types.js b/frontend/app/types.js index 7120a91..19d1e69 100644 --- a/frontend/app/types.js +++ b/frontend/app/types.js @@ -6,6 +6,7 @@ export const graph = crud_type('graph', [ 'show_add_page_form', 'hide_add_page_form', 'toggle_add_page_form', 'show_edit_page_form', 'hide_edit_page_form', 'toggle_edit_page_form', 'update_graph_page', + 'toggle_audio_list', ]) export const page = crud_type('page', [ -- cgit v1.2.3-70-g09d2 From d9ee2c97882ea5ace9c28ac6560ffa240daf9345 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 20 Mar 2021 18:03:31 +0100 Subject: toggle side of sidebar. popup form. wait to appear form. --- frontend/app/common/slider.component.js | 4 ++-- frontend/app/types.js | 2 ++ .../app/views/audio/components/audio.select.js | 2 +- frontend/app/views/graph/graph.css | 19 ++++++++++++++++++ frontend/app/views/page/components/page.header.js | 1 + frontend/app/views/page/page.actions.js | 10 ++++++++++ frontend/app/views/page/page.container.js | 2 +- frontend/app/views/page/page.reducer.js | 19 ++++++++++++++++++ frontend/app/views/tile/components/tile.form.js | 15 ++++++++------ frontend/app/views/tile/handles/tile.video.js | 23 +++++++++++++++++----- 10 files changed, 82 insertions(+), 15 deletions(-) (limited to 'frontend/app/types.js') diff --git a/frontend/app/common/slider.component.js b/frontend/app/common/slider.component.js index 9d96b1e..d19ab9b 100644 --- a/frontend/app/common/slider.component.js +++ b/frontend/app/common/slider.component.js @@ -53,7 +53,7 @@ export default class Slider extends Component { } } handleKeyDown(e) { - console.log(e.keyCode) + // console.log(e.keyCode) } handleRange(e){ let { value: new_value } = e.target @@ -90,7 +90,7 @@ export default class Slider extends Component { step = 1 value = this.props.options.indexOf(value) } else { - step = (this.props.max - this.props.min) / 100 + step = this.props.step || (this.props.max - this.props.min) / 100 text_value = parseFloat(value).toFixed(2) } return ( diff --git a/frontend/app/types.js b/frontend/app/types.js index 19d1e69..bcd8053 100644 --- a/frontend/app/types.js +++ b/frontend/app/types.js @@ -15,6 +15,8 @@ export const page = crud_type('page', [ 'update_page_tile', 'set_tile_sort_order', 'update_tile_sort_order', 'show_tile_list', 'hide_tile_list', 'toggle_tile_list', + 'toggle_popups', + 'toggle_sidebar_side', ]) export const tile = crud_type('tile', [ diff --git a/frontend/app/views/audio/components/audio.select.js b/frontend/app/views/audio/components/audio.select.js index cf1dfb2..384bb7a 100644 --- a/frontend/app/views/audio/components/audio.select.js +++ b/frontend/app/views/audio/components/audio.select.js @@ -6,7 +6,7 @@ import { unslugify } from 'app/utils' const NO_AUDIO = 0 const AUDIO_TOP_OPTIONS = [ - { name: NO_AUDIO, label: 'No Audio' }, + { name: NO_AUDIO, label: 'No Sound' }, { name: -2, label: '──────────', disabled: true }, ] diff --git a/frontend/app/views/graph/graph.css b/frontend/app/views/graph/graph.css index c6ef115..a557280 100644 --- a/frontend/app/views/graph/graph.css +++ b/frontend/app/views/graph/graph.css @@ -29,6 +29,10 @@ max-height: 100%; z-index: 20; } +.sidebar.left { + right: auto; + left: 0; +} .box { width: 15rem; padding: 0.5rem; @@ -127,6 +131,21 @@ font-size: smaller; margin-bottom: 0.25rem; } +button.box_corner { + position: absolute; + top: 1.25rem; right: 1.25rem; + padding: 0.5rem; + background: transparent; + border: 0; + border-radius: 4px; +} +button.box_corner:hover { + color: #fff; + background: rgba(64,64,128,0.5); +} +.sidebar.left button.box_corner { + transform: scaleX(-1); +} .box .slider { display: flex; diff --git a/frontend/app/views/page/components/page.header.js b/frontend/app/views/page/components/page.header.js index dbdf1b6..d40f6e0 100644 --- a/frontend/app/views/page/components/page.header.js +++ b/frontend/app/views/page/components/page.header.js @@ -27,6 +27,7 @@ function PageHeader(props) {
+
diff --git a/frontend/app/views/page/page.actions.js b/frontend/app/views/page/page.actions.js index d2bbbe2..c584848 100644 --- a/frontend/app/views/page/page.actions.js +++ b/frontend/app/views/page/page.actions.js @@ -50,6 +50,16 @@ export const toggleTileList = () => dispatch => { dispatch({ type: types.page.toggle_tile_list }) } +// Popups + +export const togglePopups = () => dispatch => { + dispatch({ type: types.page.toggle_popups }) +} + +export const toggleSidebarSide = () => dispatch => { + dispatch({ type: types.page.toggle_sidebar_side }) +} + // Update local page tile state when we change it export const updatePageTile = tile => dispatch => { diff --git a/frontend/app/views/page/page.container.js b/frontend/app/views/page/page.container.js index 68347b7..decdf79 100644 --- a/frontend/app/views/page/page.container.js +++ b/frontend/app/views/page/page.container.js @@ -70,7 +70,7 @@ class PageContainer extends Component {
-
+
{this.props.graph.editor.editingPage && } {this.props.page.editor.addingTile && } {this.props.page.editor.editingTile && } diff --git a/frontend/app/views/page/page.reducer.js b/frontend/app/views/page/page.reducer.js index c2d231a..b0c4553 100644 --- a/frontend/app/views/page/page.reducer.js +++ b/frontend/app/views/page/page.reducer.js @@ -9,6 +9,8 @@ const initialState = crudState('page', { editingTile: false, currentEditTileId: 0, tileList: false, + showingPopups: true, + sidebarOnRight: true, }, options: { } @@ -195,6 +197,23 @@ export default function pageReducer(state = initialState, action) { } } + case types.page.toggle_popups: + return { + ...state, + editor: { + ...state.editor, + togglePopups: !state.editor.togglePopups, + } + } + + case types.page.toggle_sidebar_side: + return { + ...state, + editor: { + ...state.editor, + sidebarOnRight: !state.editor.sidebarOnRight, + } + } default: return state diff --git a/frontend/app/views/tile/components/tile.form.js b/frontend/app/views/tile/components/tile.form.js index 7d0780d..728bc05 100644 --- a/frontend/app/views/tile/components/tile.form.js +++ b/frontend/app/views/tile/components/tile.form.js @@ -13,7 +13,8 @@ import { import AudioSelect from 'app/views/audio/components/audio.select' import { preloadImage, preloadVideo } from 'app/utils' -import * as tileActions from '../../tile/tile.actions' +import * as pageActions from 'app/views/page/page.actions' +import * as tileActions from 'app/views/tile/tile.actions' const SELECT_TYPES = [ "image", "text", "video", "link", "script", @@ -66,13 +67,13 @@ const CURSORS = [ const NO_LINK = 0 const EXTERNAL_LINK = -1 const OPEN_POPUP_LINK = -2 -const CLOSE_POPUP_LINK = -2 +const CLOSE_POPUP_LINK = -3 const PAGE_LIST_TOP_OPTIONS = [ { name: NO_LINK, label: 'No link' }, { name: EXTERNAL_LINK, label: 'External link' }, { name: OPEN_POPUP_LINK, label: 'Open popup' }, { name: CLOSE_POPUP_LINK, label: 'Close popup' }, - { name: -3, label: '──────────', disabled: true }, + { name: -99, label: '──────────', disabled: true }, ] // target_page_id = Column(Integer, ForeignKey('page.id'), nullable=True) @@ -410,6 +411,9 @@ class TileForm extends Component { return (

{title}

+
+
+ )}
) } diff --git a/frontend/app/views/tile/components/tile.list.js b/frontend/app/views/tile/components/tile.list.js index 9ceb999..127ca52 100644 --- a/frontend/app/views/tile/components/tile.list.js +++ b/frontend/app/views/tile/components/tile.list.js @@ -114,6 +114,10 @@ const TileListLink = ({ tile, pageTitles }) => ( {'Link: '} {tile.target_page_id === -1 ? 'External' + : tile.target_page_id === -2 + ? 'Open popup' + : tile.target_page_id === -3 + ? 'Close popup' : !tile.target_page_id ? 'No link specified!' : tile.target_page_id in pageTitles diff --git a/frontend/app/views/tile/components/tile.new.js b/frontend/app/views/tile/components/tile.new.js index b491fdd..e0f61a6 100644 --- a/frontend/app/views/tile/components/tile.new.js +++ b/frontend/app/views/tile/components/tile.new.js @@ -21,6 +21,7 @@ class TileNew extends Component { // history.push('/' + graph.path + '/' + res.res.path) // } this.props.pageActions.hideAddTileForm() + this.props.pageActions.loadPopups() this.props.tileActions.clearTemporaryTile() }) .catch(err => { diff --git a/frontend/app/views/tile/handles/tile.link.js b/frontend/app/views/tile/handles/tile.link.js index 839c18c..20d881b 100644 --- a/frontend/app/views/tile/handles/tile.link.js +++ b/frontend/app/views/tile/handles/tile.link.js @@ -13,9 +13,6 @@ export default function TileScript({ tile, box, viewing, onMouseDown, onDoubleCl className += ' ' + (tile.settings.cursor || 'hand_up') } - if (!tile.settings.content) { - return null - } let content = "" className += ' ' + tile.settings.align style.width = unitsDimension(tile, 'width') -- cgit v1.2.3-70-g09d2