diff --git a/res/static/svelte/filesystem.css b/res/static/svelte/filesystem.css index e96cf11..6da4fbd 100644 --- a/res/static/svelte/filesystem.css +++ b/res/static/svelte/filesystem.css @@ -1,6 +1,8 @@ -.file_viewer.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{position:absolute;display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;overflow:hidden}.file_viewer.svelte-1vxdz33>.file_viewer_headerbar.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{flex-grow:0;flex-shrink:0;display:flex;flex-direction:row;text-align:left;z-index:10;box-shadow:none}.file_viewer.svelte-1vxdz33>.file_viewer_headerbar.svelte-1vxdz33>.svelte-1vxdz33.svelte-1vxdz33{flex-grow:0;flex-shrink:0;margin-left:6px;margin-right:6px;display:inline}.file_viewer.svelte-1vxdz33>.file_viewer_headerbar.svelte-1vxdz33>.file_viewer_headerbar_title.svelte-1vxdz33.svelte-1vxdz33{flex-grow:1;flex-shrink:1;display:flex;flex-direction:column;overflow:hidden;line-height:1.2em;white-space:nowrap;text-overflow:ellipsis;justify-content:center}.button_home.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33::after{content:"pixeldrain"}@media(max-width: 600px){.button_home.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33::after{content:"pd"}}.file_viewer.svelte-1vxdz33>.list_navigator.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{flex-grow:0;flex-shrink:0;position:relative;display:none;width:100%;background-color:var(--layer_1_color);text-align:center;line-height:1em;overflow-x:auto;overflow-y:hidden;z-index:50;white-space:nowrap}.file_viewer.svelte-1vxdz33>.file_viewer_window.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{flex-grow:1;flex-shrink:1;position:relative;display:inline-block;width:auto;height:auto;margin:0;z-index:9}.file_viewer.svelte-1vxdz33>.file_viewer_window.svelte-1vxdz33>.file_viewer_file_preview.svelte-1vxdz33.svelte-1vxdz33{position:absolute;left:0;right:0;top:0;bottom:0;display:inline-block;min-height:100px;min-width:100px;text-align:center;vertical-align:middle;transition:left 0.5s;overflow:hidden;box-shadow:inset 2px 2px 8px var(--shadow_color)}.file_viewer.svelte-1vxdz33>.file_viewer_window.svelte-1vxdz33>.file_viewer_file_preview.svelte-1vxdz33>.center.svelte-1vxdz33{position:relative;display:block;margin:auto;max-width:100%;max-height:100%;top:50%;transform:translateY(-50%)}.toolbar.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{position:absolute;width:8em;z-index:49;overflow:hidden;float:left;background-color:var(--layer_1_color);left:-8em;bottom:0;top:0;padding:0;text-align:left;transition:left 0.5s}.toolbar.toolbar_visible.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{left:0}.file_viewer.svelte-1vxdz33>.file_viewer_window.svelte-1vxdz33>.file_viewer_file_preview.toolbar_visible.svelte-1vxdz33.svelte-1vxdz33{left:8em}.toolbar.svelte-1vxdz33>div.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{position:absolute;left:0;top:0;bottom:0;right:-30px;overflow-y:scroll;overflow-x:hidden}.toolbar.svelte-1vxdz33>div.svelte-1vxdz33>div.svelte-1vxdz33.svelte-1vxdz33{position:absolute;left:0;top:0;width:8em;height:auto;text-align:center}.toolbar_button.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{text-align:left}.toolbar_label.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{text-align:left;padding-left:10px;font-size:0.8em;line-height:0.7em;margin-top:0.5em}.toolbar_statistic.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33.svelte-1vxdz33{text-align:center} +.file_viewer.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{position:absolute;display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;overflow:hidden}.file_viewer.svelte-15t34ei>.file_viewer_headerbar.svelte-15t34ei.svelte-15t34ei{flex-grow:0;flex-shrink:0;display:flex;flex-direction:row;text-align:left;z-index:10;box-shadow:none;padding:4px}.file_viewer.svelte-15t34ei>.file_viewer_headerbar.svelte-15t34ei>.svelte-15t34ei{flex-grow:0;flex-shrink:0;margin-left:4px;margin-right:4px;display:inline;align-self:center}.file_viewer.svelte-15t34ei>.file_viewer_headerbar.svelte-15t34ei>.file_viewer_headerbar_title.svelte-15t34ei{flex-grow:1;flex-shrink:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;flex-direction:row}.breadcrumb.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{border-radius:1em;min-width:1em;text-align:center;line-height:1.2em;padding:3px 8px;margin:2px 6px}.breadcrumb_button.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{cursor:pointer;background-color:var(--layer_2_color);transition:0.2s background-color}.breadcrumb_button.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei:hover,.breadcrumb_button.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei:focus,.breadcrumb_button.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei:active{background-color:var(--input_color)}.breadcrumb_last.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{background-color:var(--highlight_color);color:var(--highlight_text_color)}.button_home.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei::after{content:"pixeldrain"}@media(max-width: 600px){.button_home.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei::after{content:"pd"}}.file_viewer.svelte-15t34ei>.list_navigator.svelte-15t34ei.svelte-15t34ei{flex-grow:0;flex-shrink:0;position:relative;display:none;width:100%;background-color:var(--layer_1_color);text-align:center;line-height:1em;overflow-x:auto;overflow-y:hidden;z-index:50;white-space:nowrap}.file_viewer.svelte-15t34ei>.file_viewer_window.svelte-15t34ei.svelte-15t34ei{flex-grow:1;flex-shrink:1;position:relative;display:inline-block;width:auto;height:auto;margin:0;z-index:9}.file_viewer.svelte-15t34ei>.file_viewer_window.svelte-15t34ei>.file_viewer_file_preview.svelte-15t34ei{position:absolute;left:0;right:0;top:0;bottom:0;display:inline-block;min-height:100px;min-width:100px;text-align:center;vertical-align:middle;transition:left 0.5s;overflow:hidden;box-shadow:inset 2px 2px 8px var(--shadow_color)}.toolbar.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{position:absolute;width:8em;z-index:49;overflow:hidden;float:left;background-color:var(--layer_1_color);left:-8em;bottom:0;top:0;padding:0;text-align:left;transition:left 0.5s}.toolbar.toolbar_visible.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{left:0}.file_viewer.svelte-15t34ei>.file_viewer_window.svelte-15t34ei>.file_viewer_file_preview.toolbar_visible.svelte-15t34ei{left:8em}.toolbar.svelte-15t34ei>div.svelte-15t34ei.svelte-15t34ei{position:absolute;left:0;top:0;bottom:0;right:-30px;overflow-y:scroll;overflow-x:hidden}.toolbar.svelte-15t34ei>div.svelte-15t34ei>div.svelte-15t34ei{position:absolute;left:0;top:0;width:8em;height:auto;text-align:center}.toolbar_button.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{text-align:left}.toolbar_label.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{text-align:left;padding-left:10px;font-size:0.8em;line-height:0.7em;margin-top:0.5em}.toolbar_statistic.svelte-15t34ei.svelte-15t34ei.svelte-15t34ei{text-align:center} .sharebar.svelte-gnq1s2{position:absolute;width:7em;left:-8em;bottom:0;top:0;overflow-y:scroll;overflow-x:hidden;float:left;background-color:var(--layer_1_color);box-shadow:inset 1px 1px var(--layer_1_shadow) var(--shadow_color);text-align:center;z-index:48;overflow:hidden;transition:left 0.5s}.visible.svelte-gnq1s2{left:8em} -.container.svelte-1afjvoj.svelte-1afjvoj{height:100%;width:100%;padding:0;overflow-y:auto;text-align:center}.toolbar.svelte-1afjvoj.svelte-1afjvoj{position:relative;display:inline-block;max-width:800px;width:100%;margin:20px 0 0 0;box-sizing:border-box}.directory.svelte-1afjvoj.svelte-1afjvoj{position:relative;display:inline-block;max-width:800px;width:100%;margin:20px 0 40px 0;text-align:left;background-color:var(--layer_2_color);box-shadow:1px 1px var(--layer_2_shadow) var(--shadow_color);box-sizing:border-box}.node.svelte-1afjvoj.svelte-1afjvoj{position:relative;height:40px;overflow:hidden;margin:4px;padding:4px;box-sizing:border-box;cursor:pointer}.node.svelte-1afjvoj.svelte-1afjvoj:hover:not(.node_selected){background-color:var(--input_color_dark);color:var(--input_text_color);text-decoration:none}.node.svelte-1afjvoj>div.svelte-1afjvoj{height:100%;overflow:hidden;padding:0;line-height:32px;box-sizing:border-box;display:inline-block;text-overflow:ellipsis;white-space:nowrap}.node.svelte-1afjvoj>img.svelte-1afjvoj{max-height:100%;margin-right:6px;width:auto;min-width:auto;float:left;display:block} +.container.svelte-11r8rw7{height:100%;width:100%;margin:50px 0 0 0;padding:0;overflow-y:auto;text-align:center}.player.svelte-11r8rw7{width:90%} +.hidden.svelte-6g6w4.svelte-6g6w4{visibility:hidden}.container.svelte-6g6w4.svelte-6g6w4{height:100%;width:100%;padding:0;overflow-y:auto;text-align:center}.width_container.svelte-6g6w4.svelte-6g6w4{position:relative;display:inline-block;max-width:94%;width:1000px;margin:0;padding:0}.toolbar.svelte-6g6w4.svelte-6g6w4{position:relative;display:inline-flex;flex-direction:row;width:100%;margin:16px 0 0 0;padding:0;box-sizing:border-box}.toolbar.svelte-6g6w4>.svelte-6g6w4{flex:0 0 auto}.toolbar_spacer.svelte-6g6w4.svelte-6g6w4{flex:1 1 auto}.directory.svelte-6g6w4.svelte-6g6w4{position:relative;overflow-x:auto;overflow-y:hidden;width:100%;margin:16px 0 16px 0;text-align:left;background-color:var(--layer_2_color);box-shadow:1px 1px var(--layer_2_shadow) var(--shadow_color);box-sizing:border-box}.node.svelte-6g6w4.svelte-6g6w4{display:table-row;text-decoration:none;color:var(--text-color);padding:6px;box-sizing:border-box}.node.svelte-6g6w4.svelte-6g6w4:not(:last-child){border-bottom:1px solid var(--layer_3_color)}.node.svelte-6g6w4.svelte-6g6w4:hover:not(.node_selected){background-color:var(--input_color_dark);color:var(--input_text_color);text-decoration:none}.node.node_selected.svelte-6g6w4.svelte-6g6w4{background-color:var(--highlight_color);color:var(--highlight_text_color)}td.svelte-6g6w4.svelte-6g6w4{padding:4px;vertical-align:middle}.node_icon.svelte-6g6w4.svelte-6g6w4{height:32px;width:auto;vertical-align:middle}.node_name.svelte-6g6w4.svelte-6g6w4{width:100%;overflow:hidden;line-height:1.2em}.node_size.svelte-6g6w4.svelte-6g6w4{min-width:50px;white-space:nowrap} +.container.svelte-xjzx7h{position:relative;display:block;height:100%;width:100%;text-align:center;overflow:hidden}.container.zoom.svelte-xjzx7h{overflow:auto}.image.svelte-xjzx7h{position:relative;display:block;margin:auto;max-width:100%;max-height:100%;top:50%;cursor:pointer;transform:translateY(-50%);box-shadow:1px 1px var(--layer_3_shadow) var(--shadow_color)}.image.zoom.svelte-xjzx7h{max-width:none;max-height:none;top:0;cursor:move;transform:none} .background.svelte-tirhyp{position:fixed;text-align:center;top:0;right:0;bottom:0;left:0;background-color:rgba(0, 0, 0, 0.5)}.window.svelte-tirhyp{position:absolute;z-index:inherit;display:flex;flex-direction:column;background-color:var(--layer_2_color);max-height:100%;max-width:100%;margin:0 auto;top:20%;left:50%;transform:translate(-50%, -20%);padding:0;box-sizing:border-box;text-align:left;box-shadow:var(--shadow_color) 0px 0px 50px}.header.svelte-tirhyp{flex-grow:0;flex-shrink:0;display:flex;flex-direction:row;padding:1px}.title.svelte-tirhyp{flex-grow:1;flex-shrink:1;display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:1.2em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button_close.svelte-tirhyp{flex-grow:0;flex-shrink:0}.body.svelte-tirhyp{flex-grow:1;flex-shrink:1;overflow:auto;padding:10px} svg.svelte-1pco739{color:var(--highlight_color);fill:currentColor} diff --git a/res/static/svelte/filesystem.js b/res/static/svelte/filesystem.js index 3f38cc7..e6e0c40 100644 --- a/res/static/svelte/filesystem.js +++ b/res/static/svelte/filesystem.js @@ -143,6 +143,13 @@ var app = (function () { node.addEventListener(event, handler, options); return () => node.removeEventListener(event, handler, options); } + function prevent_default(fn) { + return function (event) { + event.preventDefault(); + // @ts-ignore + return fn.call(this, event); + }; + } function stop_propagation(fn) { return function (event) { event.stopPropagation(); @@ -1415,14 +1422,145 @@ var app = (function () { function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); - child_ctx[5] = list[i]; + child_ctx[9] = list[i]; + child_ctx[11] = i; return child_ctx; } - // (53:2) {#if Array.isArray(node.base.children)} - function create_if_block$1(ctx) { - let each_1_anchor; - let each_value = /*node*/ ctx[0].base.children; + // (80:3) {#each children as child, index} + function create_each_block(ctx) { + let a; + let td0; + let img; + let img_src_value; + let t0; + let td1; + let t1_value = /*child*/ ctx[9].name + ""; + let t1; + let t2; + let td2; + let t3_value = formatDataVolume(/*child*/ ctx[9].file_size, 3) + ""; + let t3; + let t4; + let a_href_value; + let mounted; + let dispose; + + function click_handler() { + return /*click_handler*/ ctx[6](/*child*/ ctx[9], /*index*/ ctx[11]); + } + + const block = { + c: function create() { + a = element("a"); + td0 = element("td"); + img = element("img"); + t0 = space(); + td1 = element("td"); + t1 = text(t1_value); + t2 = space(); + td2 = element("td"); + t3 = text(t3_value); + t4 = space(); + if (img.src !== (img_src_value = /*node_icon*/ ctx[5](/*child*/ ctx[9]))) attr_dev(img, "src", img_src_value); + attr_dev(img, "class", "node_icon svelte-6g6w4"); + attr_dev(img, "alt", "icon"); + add_location(img, file$3, 89, 6, 2581); + attr_dev(td0, "class", "svelte-6g6w4"); + add_location(td0, file$3, 88, 5, 2570); + attr_dev(td1, "class", "node_name svelte-6g6w4"); + add_location(td1, file$3, 91, 5, 2656); + attr_dev(td2, "class", "node_size svelte-6g6w4"); + add_location(td2, file$3, 94, 5, 2714); + attr_dev(a, "href", a_href_value = /*path_base*/ ctx[1] + /*child*/ ctx[9].path); + attr_dev(a, "class", "node svelte-6g6w4"); + toggle_class(a, "node_selected", /*child*/ ctx[9].selected); + add_location(a, file$3, 80, 4, 2296); + }, + m: function mount(target, anchor) { + insert_dev(target, a, anchor); + append_dev(a, td0); + append_dev(td0, img); + append_dev(a, t0); + append_dev(a, td1); + append_dev(td1, t1); + append_dev(a, t2); + append_dev(a, td2); + append_dev(td2, t3); + append_dev(a, t4); + + if (!mounted) { + dispose = listen_dev(a, "click", prevent_default(click_handler), false, true, false); + mounted = true; + } + }, + p: function update(new_ctx, dirty) { + ctx = new_ctx; + + if (dirty & /*children*/ 4 && img.src !== (img_src_value = /*node_icon*/ ctx[5](/*child*/ ctx[9]))) { + attr_dev(img, "src", img_src_value); + } + + if (dirty & /*children*/ 4 && t1_value !== (t1_value = /*child*/ ctx[9].name + "")) set_data_dev(t1, t1_value); + if (dirty & /*children*/ 4 && t3_value !== (t3_value = formatDataVolume(/*child*/ ctx[9].file_size, 3) + "")) set_data_dev(t3, t3_value); + + if (dirty & /*path_base, children*/ 6 && a_href_value !== (a_href_value = /*path_base*/ ctx[1] + /*child*/ ctx[9].path)) { + attr_dev(a, "href", a_href_value); + } + + if (dirty & /*children*/ 4) { + toggle_class(a, "node_selected", /*child*/ ctx[9].selected); + } + }, + d: function destroy(detaching) { + if (detaching) detach_dev(a); + mounted = false; + dispose(); + } + }; + + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block.name, + type: "each", + source: "(80:3) {#each children as child, index}", + ctx + }); + + return block; + } + + function create_fragment$3(ctx) { + let div3; + let div2; + let div1; + let button0; + let i0; + let t1; + let div0; + let t2; + let button1; + let i1; + let t4; + let button2; + let i2; + let t6; + let button3; + let i3; + let t8; + let br; + let t9; + let table; + let tr; + let td0; + let t10; + let td1; + let t12; + let td2; + let t14; + let mounted; + let dispose; + let each_value = /*children*/ ctx[2]; validate_each_argument(each_value); let each_blocks = []; @@ -1432,22 +1570,134 @@ var app = (function () { const block = { c: function create() { + div3 = element("div"); + div2 = element("div"); + div1 = element("div"); + button0 = element("button"); + i0 = element("i"); + i0.textContent = "arrow_back"; + t1 = space(); + div0 = element("div"); + t2 = space(); + button1 = element("button"); + i1 = element("i"); + i1.textContent = "cloud_upload"; + t4 = space(); + button2 = element("button"); + i2 = element("i"); + i2.textContent = "create_new_folder"; + t6 = space(); + button3 = element("button"); + i3 = element("i"); + i3.textContent = "delete"; + t8 = space(); + br = element("br"); + t9 = space(); + table = element("table"); + tr = element("tr"); + td0 = element("td"); + t10 = space(); + td1 = element("td"); + td1.textContent = "name"; + t12 = space(); + td2 = element("td"); + td2.textContent = "size"; + t14 = space(); + for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c(); } - each_1_anchor = empty(); + attr_dev(i0, "class", "icon"); + add_location(i0, file$3, 64, 75, 1773); + attr_dev(button0, "class", "svelte-6g6w4"); + toggle_class(button0, "hidden", /*node*/ ctx[0].parents.length === 0); + add_location(button0, file$3, 64, 3, 1701); + attr_dev(div0, "class", "toolbar_spacer svelte-6g6w4"); + add_location(div0, file$3, 66, 3, 1834); + attr_dev(i1, "class", "icon"); + add_location(i1, file$3, 67, 34, 1903); + attr_dev(button1, "class", "svelte-6g6w4"); + add_location(button1, file$3, 67, 3, 1872); + attr_dev(i2, "class", "icon"); + add_location(i2, file$3, 68, 34, 1979); + attr_dev(button2, "class", "svelte-6g6w4"); + add_location(button2, file$3, 68, 3, 1948); + attr_dev(i3, "class", "icon"); + add_location(i3, file$3, 69, 34, 2060); + attr_dev(button3, "class", "svelte-6g6w4"); + add_location(button3, file$3, 69, 3, 2029); + attr_dev(div1, "class", "toolbar svelte-6g6w4"); + add_location(div1, file$3, 62, 2, 1632); + add_location(br, file$3, 71, 2, 2107); + attr_dev(td0, "class", "svelte-6g6w4"); + add_location(td0, file$3, 75, 4, 2201); + attr_dev(td1, "class", "svelte-6g6w4"); + add_location(td1, file$3, 76, 4, 2215); + attr_dev(td2, "class", "svelte-6g6w4"); + add_location(td2, file$3, 77, 4, 2233); + add_location(tr, file$3, 73, 3, 2144); + attr_dev(table, "class", "directory svelte-6g6w4"); + add_location(table, file$3, 72, 2, 2115); + attr_dev(div2, "class", "width_container svelte-6g6w4"); + add_location(div2, file$3, 61, 1, 1600); + attr_dev(div3, "class", "container svelte-6g6w4"); + add_location(div3, file$3, 60, 0, 1575); + }, + l: function claim(nodes) { + throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); }, m: function mount(target, anchor) { + insert_dev(target, div3, anchor); + append_dev(div3, div2); + append_dev(div2, div1); + append_dev(div1, button0); + append_dev(button0, i0); + append_dev(div1, t1); + append_dev(div1, div0); + append_dev(div1, t2); + append_dev(div1, button1); + append_dev(button1, i1); + append_dev(div1, t4); + append_dev(div1, button2); + append_dev(button2, i2); + append_dev(div1, t6); + append_dev(div1, button3); + append_dev(button3, i3); + append_dev(div2, t8); + append_dev(div2, br); + append_dev(div2, t9); + append_dev(div2, table); + append_dev(table, tr); + append_dev(tr, td0); + append_dev(tr, t10); + append_dev(tr, td1); + append_dev(tr, t12); + append_dev(tr, td2); + append_dev(table, t14); + for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].m(target, anchor); + each_blocks[i].m(table, null); } - insert_dev(target, each_1_anchor, anchor); + if (!mounted) { + dispose = [ + listen_dev(button0, "click", /*navigate_up*/ ctx[4], false, false, false), + listen_dev(button1, "click", /*navigate_up*/ ctx[4], false, false, false), + listen_dev(button2, "click", /*navigate_up*/ ctx[4], false, false, false), + listen_dev(button3, "click", /*navigate_up*/ ctx[4], false, false, false) + ]; + + mounted = true; + } }, - p: function update(ctx, dirty) { - if (dirty & /*navigate_to, node, node_icon*/ 11) { - each_value = /*node*/ ctx[0].base.children; + p: function update(ctx, [dirty]) { + if (dirty & /*node*/ 1) { + toggle_class(button0, "hidden", /*node*/ ctx[0].parents.length === 0); + } + + if (dirty & /*path_base, children, node_click, formatDataVolume, node_icon*/ 46) { + each_value = /*children*/ ctx[2]; validate_each_argument(each_value); let i; @@ -1459,7 +1709,7 @@ var app = (function () { } else { each_blocks[i] = create_each_block(child_ctx); each_blocks[i].c(); - each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + each_blocks[i].m(table, null); } } @@ -1470,185 +1720,13 @@ var app = (function () { each_blocks.length = each_value.length; } }, - d: function destroy(detaching) { - destroy_each(each_blocks, detaching); - if (detaching) detach_dev(each_1_anchor); - } - }; - - dispatch_dev("SvelteRegisterBlock", { - block, - id: create_if_block$1.name, - type: "if", - source: "(53:2) {#if Array.isArray(node.base.children)}", - ctx - }); - - return block; - } - - // (54:3) {#each node.base.children as child} - function create_each_block(ctx) { - let div1; - let img; - let img_src_value; - let t0; - let div0; - let t1_value = /*child*/ ctx[5].name + ""; - let t1; - let t2; - let mounted; - let dispose; - - const block = { - c: function create() { - div1 = element("div"); - img = element("img"); - t0 = space(); - div0 = element("div"); - t1 = text(t1_value); - t2 = space(); - if (img.src !== (img_src_value = /*node_icon*/ ctx[3](/*child*/ ctx[5]))) attr_dev(img, "src", img_src_value); - attr_dev(img, "alt", "icon"); - attr_dev(img, "class", "svelte-1afjvoj"); - add_location(img, file$3, 55, 4, 1473); - attr_dev(div0, "class", "svelte-1afjvoj"); - add_location(div0, file$3, 56, 4, 1518); - attr_dev(div1, "class", "node svelte-1afjvoj"); - add_location(div1, file$3, 54, 3, 1415); - }, - m: function mount(target, anchor) { - insert_dev(target, div1, anchor); - append_dev(div1, img); - append_dev(div1, t0); - append_dev(div1, div0); - append_dev(div0, t1); - append_dev(div1, t2); - - if (!mounted) { - dispose = listen_dev( - div1, - "click", - function () { - if (is_function(/*navigate_to*/ ctx[1](/*child*/ ctx[5].path))) /*navigate_to*/ ctx[1](/*child*/ ctx[5].path).apply(this, arguments); - }, - false, - false, - false - ); - - mounted = true; - } - }, - p: function update(new_ctx, dirty) { - ctx = new_ctx; - - if (dirty & /*node*/ 1 && img.src !== (img_src_value = /*node_icon*/ ctx[3](/*child*/ ctx[5]))) { - attr_dev(img, "src", img_src_value); - } - - if (dirty & /*node*/ 1 && t1_value !== (t1_value = /*child*/ ctx[5].name + "")) set_data_dev(t1, t1_value); - }, - d: function destroy(detaching) { - if (detaching) detach_dev(div1); - mounted = false; - dispose(); - } - }; - - dispatch_dev("SvelteRegisterBlock", { - block, - id: create_each_block.name, - type: "each", - source: "(54:3) {#each node.base.children as child}", - ctx - }); - - return block; - } - - function create_fragment$3(ctx) { - let div2; - let div0; - let button; - let i; - let t1; - let t2; - let br; - let t3; - let div1; - let show_if = Array.isArray(/*node*/ ctx[0].base.children); - let mounted; - let dispose; - let if_block = show_if && create_if_block$1(ctx); - - const block = { - c: function create() { - div2 = element("div"); - div0 = element("div"); - button = element("button"); - i = element("i"); - i.textContent = "arrow_upward"; - t1 = text(" up"); - t2 = space(); - br = element("br"); - t3 = space(); - div1 = element("div"); - if (if_block) if_block.c(); - attr_dev(i, "class", "icon"); - add_location(i, file$3, 48, 33, 1246); - add_location(button, file$3, 48, 2, 1215); - attr_dev(div0, "class", "toolbar svelte-1afjvoj"); - add_location(div0, file$3, 47, 1, 1191); - add_location(br, file$3, 50, 1, 1300); - attr_dev(div1, "class", "directory svelte-1afjvoj"); - add_location(div1, file$3, 51, 1, 1307); - attr_dev(div2, "class", "container svelte-1afjvoj"); - add_location(div2, file$3, 46, 0, 1166); - }, - l: function claim(nodes) { - throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); - }, - m: function mount(target, anchor) { - insert_dev(target, div2, anchor); - append_dev(div2, div0); - append_dev(div0, button); - append_dev(button, i); - append_dev(button, t1); - append_dev(div2, t2); - append_dev(div2, br); - append_dev(div2, t3); - append_dev(div2, div1); - if (if_block) if_block.m(div1, null); - - if (!mounted) { - dispose = listen_dev(button, "click", /*navigate_up*/ ctx[2], false, false, false); - mounted = true; - } - }, - p: function update(ctx, [dirty]) { - if (dirty & /*node*/ 1) show_if = Array.isArray(/*node*/ ctx[0].base.children); - - if (show_if) { - if (if_block) { - if_block.p(ctx, dirty); - } else { - if_block = create_if_block$1(ctx); - if_block.c(); - if_block.m(div1, null); - } - } else if (if_block) { - if_block.d(1); - if_block = null; - } - }, i: noop, o: noop, d: function destroy(detaching) { - if (detaching) detach_dev(div2); - if (if_block) if_block.d(); + if (detaching) detach_dev(div3); + destroy_each(each_blocks, detaching); mounted = false; - dispose(); + run_all(dispose); } }; @@ -1668,14 +1746,21 @@ var app = (function () { validate_slots("Directory", slots, []); let dispatch = createEventDispatcher(); let { node } = $$props; + let { path_base } = $$props; + let mode = "viewing"; - const navigate_to = path => { - dispatch("navigate", path); + const node_click = (node, index) => { + if (mode === "viewing") { + dispatch("navigate", node.path); + } else if (mode === "selecting") { + $$invalidate(2, children[index].selected = !children[index].selected, children); + } }; const navigate_up = () => { + // Go to the path of the last parent if (node.parents.length !== 0) { - navigate_to(node.parents[node.parents.length - 1].path); + dispatch("navigate", node.parents[node.parents.length - 1].path); } }; @@ -1710,41 +1795,68 @@ var app = (function () { return "/res/img/mime/empty.png"; }; - const writable_props = ["node"]; + const writable_props = ["node", "path_base"]; Object.keys($$props).forEach(key => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); }); + const click_handler = (child, index) => { + node_click(child, index); + }; + $$self.$$set = $$props => { if ("node" in $$props) $$invalidate(0, node = $$props.node); + if ("path_base" in $$props) $$invalidate(1, path_base = $$props.path_base); }; $$self.$capture_state = () => ({ + formatDataVolume, createEventDispatcher, dispatch, node, - navigate_to, + path_base, + mode, + node_click, navigate_up, - node_icon + node_icon, + children }); $$self.$inject_state = $$props => { if ("dispatch" in $$props) dispatch = $$props.dispatch; if ("node" in $$props) $$invalidate(0, node = $$props.node); + if ("path_base" in $$props) $$invalidate(1, path_base = $$props.path_base); + if ("mode" in $$props) mode = $$props.mode; + if ("children" in $$props) $$invalidate(2, children = $$props.children); }; + let children; + if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } - return [node, navigate_to, navigate_up, node_icon]; + $$self.$$.update = () => { + if ($$self.$$.dirty & /*node*/ 1) { + $$invalidate(2, children = node.base.children.reduce( + (accum, val) => { + val["selected"] = false; + accum.push(val); + return accum; + }, + [] + )); + } + }; + + return [node, path_base, children, node_click, navigate_up, node_icon, click_handler]; } class Directory extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$3, create_fragment$3, safe_not_equal, { node: 0 }); + init(this, options, instance$3, create_fragment$3, safe_not_equal, { node: 0, path_base: 1 }); dispatch_dev("SvelteRegisterComponent", { component: this, @@ -1759,6 +1871,10 @@ var app = (function () { if (/*node*/ ctx[0] === undefined && !("node" in props)) { console.warn(" was created without expected prop 'node'"); } + + if (/*path_base*/ ctx[1] === undefined && !("path_base" in props)) { + console.warn(" was created without expected prop 'path_base'"); + } } get node() { @@ -1768,30 +1884,528 @@ var app = (function () { set node(value) { throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); } + + get path_base() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + + set path_base(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + } + + /* src/filesystem/viewers/Audio.svelte generated by Svelte v3.29.6 */ + const file$4 = "src/filesystem/viewers/Audio.svelte"; + + function create_fragment$4(ctx) { + let div; + let t0_value = /*node*/ ctx[0].base.name + ""; + let t0; + let t1; + let br0; + let br1; + let t2; + let audio; + let track; + let audio_src_value; + let mounted; + let dispose; + + const block = { + c: function create() { + div = element("div"); + t0 = text(t0_value); + t1 = space(); + br0 = element("br"); + br1 = element("br"); + t2 = space(); + audio = element("audio"); + track = element("track"); + add_location(br0, file$4, 14, 1, 211); + add_location(br1, file$4, 14, 6, 216); + attr_dev(track, "kind", "captions"); + add_location(track, file$4, 21, 2, 389); + attr_dev(audio, "class", "player svelte-11r8rw7"); + if (audio.src !== (audio_src_value = window.apiEndpoint + "/filesystem/" + /*node*/ ctx[0].bucket.id + "/" + /*node*/ ctx[0].base.path)) attr_dev(audio, "src", audio_src_value); + audio.autoplay = "autoplay"; + audio.controls = "controls"; + add_location(audio, file$4, 15, 1, 223); + attr_dev(div, "class", "container svelte-11r8rw7"); + add_location(div, file$4, 12, 0, 168); + }, + l: function claim(nodes) { + throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); + }, + m: function mount(target, anchor) { + insert_dev(target, div, anchor); + append_dev(div, t0); + append_dev(div, t1); + append_dev(div, br0); + append_dev(div, br1); + append_dev(div, t2); + append_dev(div, audio); + append_dev(audio, track); + + if (!mounted) { + dispose = listen_dev(audio, "ended", /*ended*/ ctx[1], false, false, false); + mounted = true; + } + }, + p: function update(ctx, [dirty]) { + if (dirty & /*node*/ 1 && t0_value !== (t0_value = /*node*/ ctx[0].base.name + "")) set_data_dev(t0, t0_value); + + if (dirty & /*node*/ 1 && audio.src !== (audio_src_value = window.apiEndpoint + "/filesystem/" + /*node*/ ctx[0].bucket.id + "/" + /*node*/ ctx[0].base.path)) { + attr_dev(audio, "src", audio_src_value); + } + }, + i: noop, + o: noop, + d: function destroy(detaching) { + if (detaching) detach_dev(div); + mounted = false; + dispose(); + } + }; + + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment$4.name, + type: "component", + source: "", + ctx + }); + + return block; + } + + function instance$4($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("Audio", slots, []); + let dispatch = createEventDispatcher(); + let { node } = $$props; + + const ended = () => { + dispatch("next"); + }; + + const writable_props = ["node"]; + + Object.keys($$props).forEach(key => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(`