2297 Commits

Author SHA1 Message Date
72a42c2bf8 Template Cleanup: Remove unused 'title' variable.
'title' is set by the extended template ('landing').
2019-03-29 15:19:28 +01:00
50aec93515 HACK to get page editing to not 500 Internal Server Error on us 2019-03-29 14:54:20 +01:00
4187d17f1f Formatting 2019-03-29 14:54:20 +01:00
ba299b2a4c Documentation of es6 transcompile and packaging 2019-03-29 10:44:04 +01:00
c8adfc5595 UI Jstree: Small padding and height adjustment of anchors. 2019-03-28 21:15:22 +01:00
50d17de278 UI Project: move sticky breadcrumbs when sidebar is visible. 2019-03-28 20:59:39 +01:00
f72c1fffca UI Jstree: Spacing and style adjustments. 2019-03-28 20:59:04 +01:00
afc8acff83 Breadcrumbs: Take into account breadcrumbs when scaling project container. 2019-03-28 20:57:59 +01:00
4c857e63b2 UI: Toggle project sidebar logic. 2019-03-28 20:46:52 +01:00
48cb216c4a Removed unnecessary <template> element
Vue.js uses `<template>` when we don't want to output an element but still
want to set some attributes (like `v-if`) on a piece of text. Since we're
outputting a `<span>`, we can just move the attributes there.
2019-03-28 16:40:01 +01:00
1fd17303a5 Breadcrumbs: emit 'navigate' event when clicking on the link
Clicking on the breadcrumb link now doesn't follow the link any more,
but by keeping it as a link users can still open in a new tab.
2019-03-28 16:38:28 +01:00
d5a4c247b0 Breadcrumbs: Initial styling. 2019-03-28 16:03:50 +01:00
a3b8a8933c Breadcrumbs: Use <span> element in last item (_self).
To be able to style it similarly to the links, but without a link.
2019-03-28 16:03:24 +01:00
5c8181ae41 Refactored Date columns to have a common base 2019-03-28 14:36:30 +01:00
ff43fa19fd Add Created and Updated column 2019-03-28 12:48:45 +01:00
f73b7e5c41 Corrected comment 2019-03-28 12:40:33 +01:00
c089b0b603 Added little clarification 2019-03-28 12:40:33 +01:00
4499f911de Node breadcrumbs
Breadcrumbs are served as JSON at `/nodes/{node ID}/breadcrumbs`, with
the top-level parent listed first and the node itself listed last:

    {breadcrumbs: [
        ...
        {_id: "parentID",
         name: "The Parent Node",
         node_type: "group",
         url: "/p/project/parentID"},
        {_id: "deadbeefbeefbeefbeeffeee",
         name: "The Node Itself",
         node_type: "asset",
         url: "/p/project/nodeID",
         _self: true},
    ]}

When a parent node is missing, it has a breadcrumb like this:

    {_id: "deadbeefbeefbeefbeeffeee",
     _exists': false,
     name': '-unknown-'}

Of course this will be the first in the breadcrumbs list, as we won't be
able to determine the parent of a deleted/non-existing node.

Breadcrumbs are rendered with Vue.js in Blender Cloud (not in Pillar);
see projects/view.pug.
2019-03-28 12:40:33 +01:00
465f1eb87e Store filter/column settings in localStorage
The filter and column settings in tables are stored per project and
context in the browsers localStorage. This makes the table keep the
settings even if the browser is refreshed or restarted.

The table emits a "componentStateChanged" event containing the tables
current state (filter/column settings) which then is saved by the top
level component.
2019-03-28 10:29:13 +01:00
f6056f4f7e UI: New mixin component for listing categories.
For e.g. Blender Cloud's Learn, Libraries, etc.
2019-03-27 15:51:41 +01:00
64cb7abcba Removed unused imports 2019-03-27 15:51:24 +01:00
1f671a2375 Update package-lock.json
The current packages where failing to build libsass on macOS.
2019-03-27 14:22:33 +01:00
898379d0d3 UI: Font-size tweak for node description in timeline. 2019-03-27 14:11:05 +01:00
87ff681750 UI: Font-size tweak to node description for blog and project. 2019-03-27 14:09:48 +01:00
db11b03c39 Fix typo 2019-03-27 12:12:17 +01:00
1525ceafd5 Fix for find_markdown_fields project hook
Original commit 3b59d3ee9aacae517b06bf25346efa3f2dae0fe7
Breaking commit 32e25ce129612010a4c14dfee0d21d1a93666108

The breaking commit was actually meant to remove the need for this
hook logic entirely, by relying on a custom validator instead.
This works for nodes, but it currently does not work for projects.
The issue needs to be further investigated via T63006.
2019-03-27 12:12:17 +01:00
9c1e345252 Newline at end of file 2019-03-27 12:12:17 +01:00
237c135c31 UI Timeline: support for dark backgrounds.
Simply place the +timeline(project_id) mixin inside a div with a 'timeline-dark' class.
2019-03-27 12:07:06 +01:00
85706fc264 Updated bug report URLs
The project was apparently moved. The issues are closed, too, though, so
we could at some point check whether our workarounds can be removed.
2019-03-27 11:58:48 +01:00
4cd182e2d2 Cleanup: spaces to tabs. 2019-03-27 11:19:11 +01:00
69806d96a9 UI: Narrower column for text in jumbotron component.
Leaves some room to see the image on the right.
2019-03-27 11:04:39 +01:00
4977829da7 Cleanup: Remove legacy Bootstrap 3 minified CSS file.
* Our Pillar apps now use Bootstrap 4.
* Pillar builds its own CSS from Bootstrap 4 components (from node_modules)
2019-03-26 18:31:54 +01:00
cd94eb237f Cleanup: One indentation level too much. 2019-03-26 17:45:33 +01:00
97cda1ef6b UI: Fix hidden fields showing up in project edit.
The 'hidden' class got renamed to d-none in Bootstrap 4.
2019-03-26 15:21:15 +01:00
5cba6f53f5 Make sure sort buttons is always clickable
Hide part overflow of column label if there is not enough room
2019-03-22 14:10:18 +01:00
072a1793e4 Add missing tooltips in table 2019-03-22 14:07:29 +01:00
375182a781 Add css class per task type to table columns 2019-03-22 14:06:54 +01:00
022fc9a1b2 Removed possibility to toggle selected in table 2019-03-22 14:06:17 +01:00
6c4e6088d3 UI: Vertically center badges under comment avatar. 2019-03-21 01:03:59 +01:00
5aed4ceff7 Avoid emitting duplicate selectedItemsChanged 2019-03-20 15:19:37 +01:00
dfd61c8bd8 Update pillar table props 2019-03-20 15:18:50 +01:00
6bae6a39df Mark pillar table rows as corrupt if init fails 2019-03-20 15:14:50 +01:00
66e6ba1467 Move table css from attract to pillar repo 2019-03-20 15:12:19 +01:00
a104117618 Added pillar.auth.cors.allow() decorator
Use this decorator on Flask endpoints that should respond with CORS
headers. These headers are sent in a reply when the browser sends an
`Origin` request header; for more info see [1].

This commit rolls back the previous commit (0ee1d0d3), as this new
approach with a separate decorator is both easier to use and less
error-prone.

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
2019-03-19 10:55:15 +01:00
0ee1d0d3da Allow HTTP headers to be set for @require_login() error responses
This makes the `require_login` decorator always return a Flask response.
Previously it could also raise a `Forbidden` exception; now it returns a
403 Forbidden response in that case too.
2019-03-18 14:42:00 +01:00
cfff5ef189 Fixed redirects ignoring the 'next_after_login` session variable
There were a few redirects (for example, trying to log in while already
logged in) that would incorrectly redirect to the main page. They use the
`next_after_login` session variable now.
2019-03-18 14:37:20 +01:00
58ff236a99 Generalized table to not depend on project id 2019-03-15 10:18:23 +01:00
ace091c998 Row selection before table fully inited failed
If a row was selected before table was fully initialized it would
be unselected once the row was fully initialized.
2019-03-14 10:53:47 +01:00
4136da110f Added comments and minor refactoring 2019-03-14 10:53:46 +01:00
01da240f54 Attract multi edit: Shift + mouse to select all between
and hopefully now command button on Mac works for multiselect.
2019-03-13 15:27:16 +01:00