fnpeditor.git
10 years agoeditor: cleanup - removing unused code in edumed exercises implementation
Aleksander Łukasz [Mon, 18 Aug 2014 08:52:20 +0000 (10:52 +0200)]
editor: cleanup - removing unused code in edumed exercises implementation

10 years agoMissing karma entry in package.json
Aleksander Łukasz [Mon, 18 Aug 2014 08:10:39 +0000 (10:10 +0200)]
Missing karma entry in package.json

10 years agoMerge in first approach to edumed exercises
Aleksander Łukasz [Thu, 14 Aug 2014 14:26:42 +0000 (16:26 +0200)]
Merge in first approach to edumed exercises

10 years agosmartxml: removing node attributes by setting undefined as their value
Aleksander Łukasz [Wed, 13 Aug 2014 08:06:56 +0000 (10:06 +0200)]
smartxml: removing node attributes by setting undefined as their value

Before this change calling Node.setAttr(undefined) was a noop.

10 years agoeditor: canvas - block merging at the boundries of a context root
Aleksander Łukasz [Fri, 8 Aug 2014 09:31:15 +0000 (11:31 +0200)]
editor: canvas - block merging at the boundries of a context root

10 years agowlxml: turn extracted list items into paragraphs instead of generic blocks
Aleksander Łukasz [Fri, 8 Aug 2014 09:13:44 +0000 (11:13 +0200)]
wlxml: turn extracted list items into paragraphs instead of generic blocks

10 years agoeditor: prevent list action from operating across context root boundries
Aleksander Łukasz [Fri, 8 Aug 2014 08:54:56 +0000 (10:54 +0200)]
editor: prevent list action from operating across context root boundries

10 years agowlxml: helper functions related to context root
Aleksander Łukasz [Fri, 8 Aug 2014 08:42:31 +0000 (10:42 +0200)]
wlxml: helper functions related to context root

10 years agoedtior: fix exercise.order document events handling
Aleksander Łukasz [Thu, 7 Aug 2014 14:44:44 +0000 (16:44 +0200)]
edtior: fix exercise.order document events handling

10 years agoeditor: temporary fix for invalid answer values in new exercise.order items
Aleksander Łukasz [Thu, 7 Aug 2014 14:18:38 +0000 (16:18 +0200)]
editor: temporary fix for invalid answer values in new exercise.order items

10 years agosmartxml: TextNode.split indicates which of the two return nodes is actually a new one
Aleksander Łukasz [Thu, 7 Aug 2014 14:17:25 +0000 (16:17 +0200)]
smartxml: TextNode.split indicates which of the two return nodes is actually a new one

10 years agoeditor: finalizing exercise.order drag & drop mechanism
Aleksander Łukasz [Thu, 7 Aug 2014 14:16:42 +0000 (16:16 +0200)]
editor: finalizing exercise.order drag & drop mechanism

10 years agoeditor: fixing, refactoring, improving styling in choice exercises
Aleksander Łukasz [Wed, 6 Aug 2014 14:46:23 +0000 (16:46 +0200)]
editor: fixing, refactoring, improving styling in choice exercises

10 years agoeditor: edumed exercises - visual tweaks
Aleksander Łukasz [Wed, 6 Aug 2014 14:03:16 +0000 (16:03 +0200)]
editor: edumed exercises - visual tweaks

10 years agoeditor: canvas - allow for resetting the container background
Aleksander Łukasz [Wed, 6 Aug 2014 13:47:54 +0000 (15:47 +0200)]
editor: canvas - allow for resetting the container background

10 years agoeditor: make toolbar icons more compact
Aleksander Łukasz [Wed, 6 Aug 2014 13:17:46 +0000 (15:17 +0200)]
editor: make toolbar icons more compact

10 years agoeditor: edumed exercises - translation fixes
Aleksander Łukasz [Wed, 6 Aug 2014 13:06:28 +0000 (15:06 +0200)]
editor: edumed exercises - translation fixes

10 years agoeditor: edumed exercise - allow for exercise insertion after the edited one
Aleksander Łukasz [Wed, 6 Aug 2014 12:33:24 +0000 (14:33 +0200)]
editor: edumed exercise - allow for exercise insertion after the edited one

10 years agoeditor: Missing names of exercises on a canvas
Aleksander Łukasz [Wed, 6 Aug 2014 12:30:29 +0000 (14:30 +0200)]
editor: Missing names of exercises on a canvas

10 years agowlxml: isContextRoot for the reminder of edumed exercises (fixup)
Aleksander Łukasz [Wed, 6 Aug 2014 12:22:18 +0000 (14:22 +0200)]
wlxml: isContextRoot for the reminder of edumed exercises (fixup)

10 years agoeditor: Missing exercise actions
Aleksander Łukasz [Wed, 6 Aug 2014 11:58:44 +0000 (13:58 +0200)]
editor: Missing exercise actions

10 years agowlxml: Missing exercise templates
Aleksander Łukasz [Wed, 6 Aug 2014 11:58:18 +0000 (13:58 +0200)]
wlxml: Missing exercise templates

10 years agowlxml: Node.find
Aleksander Łukasz [Wed, 6 Aug 2014 11:56:08 +0000 (13:56 +0200)]
wlxml: Node.find

10 years agoeditor: canvas fix
Aleksander Łukasz [Wed, 6 Aug 2014 09:46:00 +0000 (11:46 +0200)]
editor: canvas fix

10 years agoeditor: core plugin - edumed - remove execise button
Aleksander Łukasz [Wed, 6 Aug 2014 09:45:39 +0000 (11:45 +0200)]
editor: core plugin - edumed - remove execise button

10 years agoeditor: canvas - do not break an empty paragraph on ENTER
Aleksander Łukasz [Wed, 6 Aug 2014 08:58:21 +0000 (10:58 +0200)]
editor: canvas - do not break an empty paragraph on ENTER

10 years agoeditor: canvas - enter on an empty last list item creates paragraph after list
Aleksander Łukasz [Wed, 6 Aug 2014 08:41:19 +0000 (10:41 +0200)]
editor: canvas - enter on an empty last list item creates paragraph after list

10 years agoeditor: canvas fix
Aleksander Łukasz [Wed, 6 Aug 2014 07:45:31 +0000 (09:45 +0200)]
editor: canvas fix

10 years agoeditor: canvas fix
Aleksander Łukasz [Wed, 6 Aug 2014 07:32:53 +0000 (09:32 +0200)]
editor: canvas fix

In Chrome in some scenarios native Selection indicates that focusOffset
is 1 even if a range that was just set in Cavnas._moveCaretToTextElement
had an offset of 0. Range returned by Selection indicates a correct
value.

10 years agoeditor: core plugin - edumed - first approach to all three choice exercises
Aleksander Łukasz [Mon, 7 Jul 2014 07:44:28 +0000 (09:44 +0200)]
editor: core plugin - edumed - first approach to all three choice exercises

10 years agoeditor: core plugin - edumed - first take on replace exercise
Aleksander Łukasz [Thu, 3 Jul 2014 14:32:47 +0000 (16:32 +0200)]
editor: core plugin - edumed - first take on replace exercise

10 years agoeditor: canvas - first take on hierarchical canvas element registers
Aleksander Łukasz [Thu, 3 Jul 2014 14:29:10 +0000 (16:29 +0200)]
editor: canvas - first take on hierarchical canvas element registers

10 years agoeditor: core plugin - edumed - first take on gaps exercise
Aleksander Łukasz [Tue, 1 Jul 2014 07:48:01 +0000 (09:48 +0200)]
editor: core plugin - edumed - first take on gaps exercise

10 years agoeditor: canvas - context menu support
Aleksander Łukasz [Tue, 1 Jul 2014 13:53:49 +0000 (15:53 +0200)]
editor: canvas - context menu support

10 years agoeditor: menu view
Aleksander Łukasz [Tue, 1 Jul 2014 13:53:24 +0000 (15:53 +0200)]
editor: menu view

10 years agofnpjs: context menu support
Aleksander Łukasz [Tue, 1 Jul 2014 13:16:45 +0000 (15:16 +0200)]
fnpjs: context menu support

10 years agoeditor: core plugin - edumed - first take on order exercise
Aleksander Łukasz [Tue, 5 Aug 2014 09:14:46 +0000 (11:14 +0200)]
editor: core plugin - edumed - first take on order exercise

10 years agowlxml: edumed - order exercise
Aleksander Łukasz [Tue, 5 Aug 2014 08:48:07 +0000 (10:48 +0200)]
wlxml: edumed - order exercise

10 years agowlxml: lists take context root into account
Aleksander Łukasz [Wed, 25 Jun 2014 11:49:28 +0000 (13:49 +0200)]
wlxml: lists take context root into account

10 years agoeditor: lists fix - do not touch context root on list creation
Aleksander Łukasz [Thu, 26 Jun 2014 07:37:03 +0000 (09:37 +0200)]
editor: lists fix - do not touch context root on list creation

This stops including context root node into a new list.

10 years agoeditor: fix
Aleksander Łukasz [Thu, 14 Aug 2014 13:52:47 +0000 (15:52 +0200)]
editor: fix

10 years agosmartxml: RangeFragment.hasSameBoundries
Aleksander Łukasz [Thu, 3 Jul 2014 13:48:57 +0000 (15:48 +0200)]
smartxml: RangeFragment.hasSameBoundries

10 years agowlxml: Document's root is always a context root
Aleksander Łukasz [Thu, 26 Jun 2014 07:31:08 +0000 (09:31 +0200)]
wlxml: Document's root is always a context root

10 years agowlxml: getParent/isInside takes context roots into account
Aleksander Łukasz [Tue, 17 Jun 2014 11:35:19 +0000 (13:35 +0200)]
wlxml: getParent/isInside takes context roots into account

10 years agowlxml: context root
Aleksander Łukasz [Tue, 17 Jun 2014 11:29:50 +0000 (13:29 +0200)]
wlxml: context root

10 years agoStop running tests in PhantomJS by default
Aleksander Łukasz [Thu, 14 Aug 2014 09:55:47 +0000 (11:55 +0200)]
Stop running tests in PhantomJS by default

10 years agoeditor: canvas containers
Aleksander Łukasz [Fri, 25 Jul 2014 08:19:14 +0000 (10:19 +0200)]
editor: canvas containers

10 years agoeditor: Merge key event handling refactorings
Aleksander Łukasz [Thu, 14 Aug 2014 14:21:47 +0000 (16:21 +0200)]
editor: Merge key event handling refactorings

10 years agoeditor: canvas fix
Aleksander Łukasz [Mon, 4 Aug 2014 14:41:25 +0000 (16:41 +0200)]
editor: canvas fix

10 years agoeditor: canvas - switching key event handling to new handlers
Aleksander Łukasz [Mon, 4 Aug 2014 12:34:49 +0000 (14:34 +0200)]
editor: canvas - switching key event handling to new handlers

10 years agoeditor: canvas - new ctrlx handler
Aleksander Łukasz [Mon, 4 Aug 2014 12:32:11 +0000 (14:32 +0200)]
editor: canvas - new ctrlx handler

10 years agoeditor: canvas arrow key navigation improvements
Aleksander Łukasz [Thu, 14 Aug 2014 14:01:04 +0000 (16:01 +0200)]
editor: canvas arrow key navigation improvements

10 years agoeditor: canvas fix - restore deleting selected text
Aleksander Łukasz [Mon, 28 Jul 2014 13:26:33 +0000 (15:26 +0200)]
editor: canvas fix - restore deleting selected text

- Canvas.rootWrapper is no longer a contenteditable so key events
need to be listened to on the document body in case there is no
caret on a canvas (e.g. when selection is made).
- During selection, even inside a single text element, contenteditable
is not used, meaning that during even for such a selection
we need to handle delete/backspace ourselves.

10 years agoeditor: canvas - move arrow navigation handling to selection api
Aleksander Łukasz [Mon, 4 Aug 2014 12:22:33 +0000 (14:22 +0200)]
editor: canvas - move arrow navigation handling to selection api

10 years agoeditor: fix - bring back ability to select elements without text
Aleksander Łukasz [Fri, 25 Jul 2014 09:16:10 +0000 (11:16 +0200)]
editor: fix - bring back ability to select elements without text

10 years agoeditor: removing span on delete with only one character
Aleksander Łukasz [Mon, 4 Aug 2014 10:28:24 +0000 (12:28 +0200)]
editor: removing span on delete with only one character

10 years agoeditor: Improved use of contenteditable for a caret support
Aleksander Łukasz [Thu, 24 Jul 2014 14:00:48 +0000 (16:00 +0200)]
editor: Improved use of contenteditable for a caret support

This change stops declaring the whole canvas as being contenteditable=true,
marks as such only current canvas text element instead.

This approach has many advantages:

1. We no longer need to handle unspecified caret behavior, where caret
could be put anywhere in the canvas DOM tree (outside of canvas text
elements in particular) which needed tricky corrections on the fly.

2. Canvas widgets and custom canvas elements no longer need to
use contenteditable=false nesting inside contenteditable=true,
effects of which are not fully specified and which was leading
to many unexpected behaviors, especially in Firefox.

3. It makes it possible the make a selection across any fragment of
a document (contenteditable=true elements nested in contentedtiable=false
are blocking selection crossing its borders from the inside).

The downside is the need to handle keyboard navigation on the borders
of canvas text elements manually.

10 years agosmartxml: Node.detach informs its caller if merge was performed
Aleksander Łukasz [Mon, 4 Aug 2014 10:27:42 +0000 (12:27 +0200)]
smartxml: Node.detach informs its caller if merge was performed

10 years agoeditor: delete/insert at the edges of a span
Aleksander Łukasz [Mon, 4 Aug 2014 09:32:06 +0000 (11:32 +0200)]
editor: delete/insert at the edges of a span

10 years agosmartxml: Node.getFirstTextNode
Aleksander Łukasz [Mon, 4 Aug 2014 08:35:20 +0000 (10:35 +0200)]
smartxml: Node.getFirstTextNode

10 years agosplitting blocks from spans
Aleksander Łukasz [Fri, 1 Aug 2014 12:33:36 +0000 (14:33 +0200)]
splitting blocks from spans

10 years agosplitting text
Aleksander Łukasz [Fri, 1 Aug 2014 09:21:01 +0000 (11:21 +0200)]
splitting text

This covers 1/3 of cases handled in the old implementation. Things
that are not covered:

- enter + ctrl
- enter on selection type 'node'

Both are most likely not necessary.

10 years agoeditor: selection fix - handle Zero Width Space in an empty text element
Aleksander Łukasz [Fri, 1 Aug 2014 08:57:41 +0000 (10:57 +0200)]
editor: selection fix - handle Zero Width Space in an empty text element

10 years agoeditor: wip full backspace/insert support
Aleksander Łukasz [Thu, 31 Jul 2014 10:48:14 +0000 (12:48 +0200)]
editor: wip full backspace/insert support

10 years agoeditor: wip partial
Aleksander Łukasz [Wed, 30 Jul 2014 13:04:26 +0000 (15:04 +0200)]
editor: wip partial

10 years agoeditor: canvas - refactoring Canvas Selection
Aleksander Łukasz [Wed, 30 Jul 2014 11:57:58 +0000 (13:57 +0200)]
editor: canvas - refactoring Canvas Selection

10 years agofnpjs: remove unused code
Aleksander Łukasz [Mon, 11 Aug 2014 08:02:00 +0000 (10:02 +0200)]
fnpjs: remove unused code

10 years agoeditor: remove unused code
Aleksander Łukasz [Mon, 11 Aug 2014 08:01:32 +0000 (10:01 +0200)]
editor: remove unused code

10 years agoeditor: refactoring in the data module
Aleksander Łukasz [Thu, 7 Aug 2014 09:54:40 +0000 (11:54 +0200)]
editor: refactoring in the data module

10 years agoeditor: minor refactoring
Aleksander Łukasz [Thu, 7 Aug 2014 09:28:34 +0000 (11:28 +0200)]
editor: minor refactoring

10 years agoeditor: Fix jumping to a different version of a document
Aleksander Łukasz [Thu, 7 Aug 2014 09:25:30 +0000 (11:25 +0200)]
editor: Fix jumping to a different version of a document

10 years agoeditor: canvas fix
Aleksander Łukasz [Mon, 21 Jul 2014 13:57:00 +0000 (15:57 +0200)]
editor: canvas fix

10 years agoeditor: cleanup
Aleksander Łukasz [Wed, 25 Jun 2014 13:30:58 +0000 (15:30 +0200)]
editor: cleanup

10 years agoeditor: start using data api on text nodes for keeping references to canvas elements
Aleksander Łukasz [Tue, 24 Jun 2014 09:24:39 +0000 (11:24 +0200)]
editor: start using data api on text nodes for keeping references to canvas elements

GenericElement doesn't need to dispatch nodeTextChange events
anymore as TextNodes now have their own reference to canvas
elements and wlxmlListener can dispatch to them directly.

We still need to handle changes to the comments though - this should
be refactored out to some kind of non-rendering canvas element.

10 years agosmartxml: support for setting data on text nodes
Aleksander Łukasz [Mon, 23 Jun 2014 14:02:43 +0000 (16:02 +0200)]
smartxml: support for setting data on text nodes

This is possible thanks to caching text node instances.

Cloning text node data is not supported yet.

10 years agosmartxml/wlxml: Merge in document node instances caching
Aleksander Łukasz [Fri, 18 Jul 2014 09:55:13 +0000 (11:55 +0200)]
smartxml/wlxml: Merge in document node instances caching

10 years agoeditor: removing unused code
Aleksander Łukasz [Wed, 2 Jul 2014 10:31:27 +0000 (12:31 +0200)]
editor: removing unused code

10 years agosmartxml: caching text nodes via expando
Aleksander Łukasz [Mon, 23 Jun 2014 13:38:51 +0000 (15:38 +0200)]
smartxml: caching text nodes via expando

10 years agoeditor: cleanup - removing unnecessary wlxml class handling code in canvas generic...
Aleksander Łukasz [Wed, 2 Jul 2014 10:00:33 +0000 (12:00 +0200)]
editor: cleanup - removing unnecessary wlxml class handling code in canvas generic element

- generic element doesn't actually handle onNodeAttrChange for a 'class'
attribute -  that kind of change leads to creating new canvas element
instance since e0aad96df245c7148966887cbcc77417a4b7675b
- for the same reason support for changing class information on a generic
element during its life time is not necessary

10 years agosmartxml: fix tests - extensions needs to be registered before querying nodes
Aleksander Łukasz [Mon, 23 Jun 2014 13:12:35 +0000 (15:12 +0200)]
smartxml: fix tests - extensions needs to be registered before querying nodes

10 years agowlxml: fix tests - extensions needs to be registered before querying nodes
Aleksander Łukasz [Tue, 17 Jun 2014 07:57:34 +0000 (09:57 +0200)]
wlxml: fix tests - extensions needs to be registered before querying nodes

10 years agosmartxml: Cache DocumentNode instances in the underlying DOM structure
Aleksander Łukasz [Tue, 17 Jun 2014 07:55:37 +0000 (09:55 +0200)]
smartxml: Cache DocumentNode instances in the underlying DOM structure

This allows for data persistence in the DocumentNode.object api. And,
at last, puts an end to the creation of unnecessary instances.

The side effect is that extensions needs to be registered before
acquiring references to nodes as they won't be updated with extension
behavior after they are created. This probably should be better
reflected in the api, maybe by setting extension via document constructor.

10 years agoMerge in change to the Actions api
Aleksander Łukasz [Fri, 18 Jul 2014 09:44:56 +0000 (11:44 +0200)]
Merge in change to the Actions api

10 years agosmartxml: fix in Document.getNodeByPath
Aleksander Łukasz [Thu, 17 Jul 2014 12:57:33 +0000 (14:57 +0200)]
smartxml: fix in Document.getNodeByPath

10 years agoeditor: correct for changes in actions api
Aleksander Łukasz [Wed, 2 Jul 2014 07:52:08 +0000 (09:52 +0200)]
editor: correct for changes in actions api

10 years agofnpjs: Action now triggers actionExecuted event instead of using callback
Aleksander Łukasz [Wed, 2 Jul 2014 07:50:16 +0000 (09:50 +0200)]
fnpjs: Action now triggers actionExecuted event instead of using callback

10 years agowlxml: cleanup
Aleksander Łukasz [Tue, 15 Jul 2014 14:05:43 +0000 (16:05 +0200)]
wlxml: cleanup

10 years agoeditor: removing unused configuration
Aleksander Łukasz [Tue, 15 Jul 2014 13:25:58 +0000 (15:25 +0200)]
editor: removing unused configuration

10 years agosmartxml: really minor refactoring
Aleksander Łukasz [Tue, 15 Jul 2014 13:02:33 +0000 (15:02 +0200)]
smartxml: really minor refactoring

10 years agowlxml: removing unused code
Aleksander Łukasz [Tue, 15 Jul 2014 12:59:41 +0000 (14:59 +0200)]
wlxml: removing unused code

10 years agoeditor: removing unused code
Aleksander Łukasz [Tue, 15 Jul 2014 10:52:20 +0000 (12:52 +0200)]
editor: removing unused code

10 years agoUpdate jshint
Aleksander Łukasz [Tue, 15 Jul 2014 09:40:14 +0000 (11:40 +0200)]
Update jshint

10 years agogit pre-commit hook that lints js code
Aleksander Łukasz [Tue, 15 Jul 2014 10:18:53 +0000 (12:18 +0200)]
git pre-commit hook that lints js code

Installation:

$ npm install
$ grunt githooks

10 years agoeditor: fix requirejs paths so that test will work again
Aleksander Łukasz [Mon, 14 Jul 2014 15:01:05 +0000 (17:01 +0200)]
editor: fix requirejs paths so that test will work again

Paths relative to the current directory that contain file extension
don't normally work with requirejs unless used together with Karma.js
- here on the other hand they are required.

Until this get resolved one way or another, requiring modules in files
that are used both in production and by tests must not use paths relative
to the current dir.

10 years agoeditor: Allow for editing raw source in the source editor if document contains invali...
Aleksander Łukasz [Mon, 14 Jul 2014 13:10:52 +0000 (15:10 +0200)]
editor: Allow for editing raw source in the source editor if document contains invalid xml

Up until now a stub empty document was loaded.

10 years agosmartxml: Better check for document being successfulfy parsed
Aleksander Łukasz [Mon, 14 Jul 2014 12:42:37 +0000 (14:42 +0200)]
smartxml: Better check for document being successfulfy parsed

10 years agoeditor: remove metadata editor which is now not needed
Aleksander Łukasz [Fri, 11 Jul 2014 12:13:12 +0000 (14:13 +0200)]
editor: remove metadata editor which is now not needed

10 years agoeditor: Bring back metadata editor as a modal dialog
Aleksander Łukasz [Fri, 11 Jul 2014 12:27:58 +0000 (14:27 +0200)]
editor: Bring back metadata editor as a modal dialog

10 years agoeditor: fix in toolbar - missing initial value for 'document' actions param
Aleksander Łukasz [Fri, 11 Jul 2014 10:54:11 +0000 (12:54 +0200)]
editor: fix in toolbar - missing initial value for 'document' actions param

10 years agocleanup: removing unused vkbeautify library
Aleksander Łukasz [Tue, 1 Jul 2014 15:07:36 +0000 (17:07 +0200)]
cleanup: removing unused vkbeautify library