- var prev_state, new_state;
- var main_query, record, new_data;
-
- prev_state = manifold.query_store.get_record_state(query_uuid, data.value, STATE_SET);
- if (prev_state === null)
- prev_state = STATE_SET_OUT;
- new_state = this._get_next_state_add(prev_state, data.state);
-
- if (!data.key) {
- /* data.value containts the resource key */
- manifold.query_store.add_record(query_uuid, data.value, new_state);
- record = manifold.query_store.get_record(query_uuid, data.value);
- this._enforce_constraints(query_ext, record, data.value, STATE_SET_ADD);
-
- /* Inform the parent query: important for update */
- new_data = {
- state : STATE_SET,
- key : '', //this._get_query_path(query_ext),
- op : STATE_SET_ADD,
- value : data.value,
- };
- main_query = query_ext.main_query_ext.query;
- this.raise_event(main_query.query_uuid, FIELD_STATE_CHANGED, new_data);
-
- new_data.op = new_state;
-
- } else {
- // mainquery: proceed to update