Skip to content
This repository was archived by the owner on Feb 6, 2023. It is now read-only.

Commit 07eb9c4

Browse files
sophiebitsfacebook-github-bot
authored andcommitted
Switch from DraftFeatureFlags to gkx()
Reviewed By: flarnie Differential Revision: D6811498 fbshipit-source-id: f2a9128ea161c9a68d2d7e55ad23d1d5a3823069
1 parent 26040e5 commit 07eb9c4

16 files changed

+53
-62
lines changed

src/component/base/DraftEditor.react.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const DraftEditorContents = require('DraftEditorContents.react');
2626
const DraftEditorDragHandler = require('DraftEditorDragHandler');
2727
const DraftEditorEditHandler = require('DraftEditorEditHandler');
2828
const DraftEditorPlaceholder = require('DraftEditorPlaceholder.react');
29-
const DraftFeatureFlags = require('DraftFeatureFlags');
29+
const DraftODS = require('DraftODS');
3030
const EditorState = require('EditorState');
3131
const React = require('React');
3232
const ReactDOM = require('ReactDOM');
@@ -39,6 +39,7 @@ const emptyFunction = require('emptyFunction');
3939
const generateRandomKey = require('generateRandomKey');
4040
const getDefaultKeyBinding = require('getDefaultKeyBinding');
4141
const getScrollPosition = require('getScrollPosition');
42+
const gkx = require('gkx');
4243
const invariant = require('invariant');
4344
const nullthrows = require('nullthrows');
4445

@@ -62,6 +63,8 @@ type State = {
6263
contentsKey: number,
6364
};
6465

66+
let didInitODS = false;
67+
6568
/**
6669
* `DraftEditor` is the root editor component. It composes a `contentEditable`
6770
* div, and provides a wide variety of useful function props for managing the
@@ -176,7 +179,7 @@ class DraftEditor extends React.Component<DraftEditorProps, State> {
176179
return e => {
177180
if (!this.props.readOnly) {
178181
const method = this._handler && this._handler[eventName];
179-
if (flushSyncSupported && DraftFeatureFlags.draft_js_flush_sync) {
182+
if (flushSyncSupported && gkx('draft_js_flush_sync')) {
180183
method && ReactDOM.flushSync(() => method(this, e));
181184
} else {
182185
method && method(this, e);
@@ -323,6 +326,10 @@ class DraftEditor extends React.Component<DraftEditorProps, State> {
323326
}
324327

325328
componentDidMount(): void {
329+
if (!didInitODS && gkx('draft_ods_enabled')) {
330+
didInitODS = true;
331+
DraftODS.init();
332+
}
326333
this.setMode('edit');
327334

328335
/**

src/component/handlers/composition/DraftEditorCompositionHandler.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515

1616
import type DraftEditor from 'DraftEditor.react';
1717

18-
const DraftFeatureFlags = require('DraftFeatureFlags');
1918
const DraftModifier = require('DraftModifier');
2019
const EditorState = require('EditorState');
2120
const Keys = require('Keys');
2221

2322
const getEntityKeyForSelection = require('getEntityKeyForSelection');
23+
const gkx = require('gkx');
2424
const isEventHandled = require('isEventHandled');
2525
const isSelectionAtLeafStart = require('isSelectionAtLeafStart');
2626

@@ -163,7 +163,7 @@ var DraftEditorCompositionHandler = {
163163

164164
if (composedChars) {
165165
if (
166-
DraftFeatureFlags.draft_handlebeforeinput_composed_text &&
166+
gkx('draft_handlebeforeinput_composed_text') &&
167167
editor.props.handleBeforeInput &&
168168
isEventHandled(
169169
editor.props.handleBeforeInput(composedChars, editorState),

src/component/handlers/edit/editOnInput.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515

1616
import type DraftEditor from 'DraftEditor.react';
1717

18-
const DraftFeatureFlags = require('DraftFeatureFlags');
1918
var DraftModifier = require('DraftModifier');
2019
var DraftOffsetKey = require('DraftOffsetKey');
2120
var EditorState = require('EditorState');
2221
var UserAgent = require('UserAgent');
2322

2423
var findAncestorOffsetKey = require('findAncestorOffsetKey');
24+
const gkx = require('gkx');
2525
var nullthrows = require('nullthrows');
2626

2727
var isGecko = UserAgent.isEngine('Gecko');
@@ -54,7 +54,7 @@ function editOnInput(editor: DraftEditor): void {
5454
anchorNode.nodeType !== Node.TEXT_NODE &&
5555
anchorNode.nodeType !== Node.ELEMENT_NODE;
5656

57-
if (DraftFeatureFlags.draft_killswitch_allow_nontextnodes) {
57+
if (gkx('draft_killswitch_allow_nontextnodes')) {
5858
if (isNotTextNode) {
5959
return;
6060
}

src/component/utils/DraftFeatureFlags-core.js

Lines changed: 0 additions & 24 deletions
This file was deleted.

src/model/encoding/__tests__/convertFromHTMLToContentBlocks-test.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,8 @@ const normalizeBlock = block => {
5959
};
6060

6161
const toggleExperimentalTreeDataSupport = enabled => {
62-
jest.doMock('DraftFeatureFlags', () => {
63-
return {
64-
draft_tree_data_support: enabled,
65-
};
62+
jest.doMock('gkx', () => name => {
63+
return name === 'draft_tree_data_support' ? enabled : false;
6664
});
6765
};
6866

src/model/encoding/__tests__/convertFromRawToDraftState-test.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@ jest.disableAutomock();
1717
const convertFromRawToDraftState = require('convertFromRawToDraftState');
1818

1919
const toggleExperimentalTreeDataSupport = enabled => {
20-
jest.doMock('DraftFeatureFlags', () => {
21-
return {
22-
draft_tree_data_support: enabled,
23-
};
20+
jest.doMock('gkx', () => name => {
21+
return name === 'draft_tree_data_support' ? enabled : false;
2422
});
2523
};
2624

src/model/encoding/convertFromHTMLToContentBlocks.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@ const ContentBlock = require('ContentBlock');
2525
const ContentBlockNode = require('ContentBlockNode');
2626
const DefaultDraftBlockRenderMap = require('DefaultDraftBlockRenderMap');
2727
const DraftEntity = require('DraftEntity');
28-
const DraftFeatureFlags = require('DraftFeatureFlags');
2928
const Immutable = require('immutable');
3029
const {Set} = require('immutable');
3130
const URI = require('URI');
3231

3332
const cx = require('cx');
3433
const generateRandomKey = require('generateRandomKey');
3534
const getSafeBodyFromHTML = require('getSafeBodyFromHTML');
35+
const gkx = require('gkx');
3636
const invariant = require('invariant');
3737
const sanitizeDraftText = require('sanitizeDraftText');
3838

39-
const experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;
39+
const experimentalTreeDataSupport = gkx('draft_tree_data_support');
4040

4141
type Block = {
4242
type: DraftBlockType,

src/model/encoding/convertFromRawToDraftState.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ const ContentBlock = require('ContentBlock');
2323
const ContentBlockNode = require('ContentBlockNode');
2424
const ContentState = require('ContentState');
2525
const DraftEntity = require('DraftEntity');
26-
const DraftFeatureFlags = require('DraftFeatureFlags');
2726
const DraftTreeAdapter = require('DraftTreeAdapter');
2827
const Immutable = require('immutable');
2928
const SelectionState = require('SelectionState');
@@ -32,9 +31,10 @@ const createCharacterList = require('createCharacterList');
3231
const decodeEntityRanges = require('decodeEntityRanges');
3332
const decodeInlineStyleRanges = require('decodeInlineStyleRanges');
3433
const generateRandomKey = require('generateRandomKey');
34+
const gkx = require('gkx');
3535
const invariant = require('invariant');
3636

37-
const experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;
37+
const experimentalTreeDataSupport = gkx('draft_tree_data_support');
3838

3939
const {List, Map, OrderedMap} = Immutable;
4040

src/model/immutable/ContentState.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@ const CharacterMetadata = require('CharacterMetadata');
2424
const ContentBlock = require('ContentBlock');
2525
const ContentBlockNode = require('ContentBlockNode');
2626
const DraftEntity = require('DraftEntity');
27-
const DraftFeatureFlags = require('DraftFeatureFlags');
2827
const Immutable = require('immutable');
2928
const SelectionState = require('SelectionState');
3029

3130
const generateRandomKey = require('generateRandomKey');
31+
const gkx = require('gkx');
3232
const sanitizeDraftText = require('sanitizeDraftText');
3333

3434
const {List, Record, Repeat} = Immutable;
3535

36-
const experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;
36+
const experimentalTreeDataSupport = gkx('draft_tree_data_support');
3737

3838
const defaultRecord: {
3939
entityMap: ?any,

src/model/modifier/AtomicBlockUtils.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ const BlockMapBuilder = require('BlockMapBuilder');
2020
const CharacterMetadata = require('CharacterMetadata');
2121
const ContentBlock = require('ContentBlock');
2222
const ContentBlockNode = require('ContentBlockNode');
23-
const DraftFeatureFlags = require('DraftFeatureFlags');
2423
const DraftModifier = require('DraftModifier');
2524
const EditorState = require('EditorState');
2625
const Immutable = require('immutable');
2726
const SelectionState = require('SelectionState');
2827

2928
const generateRandomKey = require('generateRandomKey');
29+
const gkx = require('gkx');
3030
const moveBlockInContentState = require('moveBlockInContentState');
3131

32-
const experimentalTreeDataSupport = DraftFeatureFlags.draft_tree_data_support;
32+
const experimentalTreeDataSupport = gkx('draft_tree_data_support');
3333
const ContentBlockRecord = experimentalTreeDataSupport
3434
? ContentBlockNode
3535
: ContentBlock;

0 commit comments

Comments
 (0)