A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/vuejs/vue/commit/dbc0582587f90e78867809bb6ae683301cd0626b below:

dynamic directive arguments for v-on, v-bind and custom directi… · vuejs/vue@dbc0582 · GitHub

@@ -20,13 +20,16 @@ export function pluckModuleFunction<F: Function> (

20 20

: []

21 21

}

22 22 23 -

export function addProp (el: ASTElement, name: string, value: string, range?: Range) {

24 -

(el.props || (el.props = [])).push(rangeSetItem({ name, value }, range))

23 +

export function addProp (el: ASTElement, name: string, value: string, range?: Range, dynamic?: boolean) {

24 +

(el.props || (el.props = [])).push(rangeSetItem({ name, value, dynamic }, range))

25 25

el.plain = false

26 26

}

27 27 28 -

export function addAttr (el: ASTElement, name: string, value: any, range?: Range) {

29 -

(el.attrs || (el.attrs = [])).push(rangeSetItem({ name, value }, range))

28 +

export function addAttr (el: ASTElement, name: string, value: any, range?: Range, dynamic?: boolean) {

29 +

const attrs = dynamic

30 +

? (el.dynamicAttrs || (el.dynamicAttrs = []))

31 +

: (el.attrs || (el.attrs = []))

32 +

attrs.push(rangeSetItem({ name, value, dynamic }, range))

30 33

el.plain = false

31 34

}

32 35

@@ -42,21 +45,36 @@ export function addDirective (

42 45

rawName: string,

43 46

value: string,

44 47

arg: ?string,

48 +

isDynamicArg: boolean,

45 49

modifiers: ?ASTModifiers,

46 50

range?: Range

47 51

) {

48 -

(el.directives || (el.directives = [])).push(rangeSetItem({ name, rawName, value, arg, modifiers }, range))

52 +

(el.directives || (el.directives = [])).push(rangeSetItem({

53 +

name,

54 +

rawName,

55 +

value,

56 +

arg,

57 +

isDynamicArg,

58 +

modifiers

59 +

}, range))

49 60

el.plain = false

50 61

}

51 62 63 +

function prependModifierMarker (symbol: string, name: string, dynamic?: boolean): string {

64 +

return dynamic

65 +

? `_p(${name},"${symbol}")`

66 +

: symbol + name // mark the event as captured

67 +

}

68 + 52 69

export function addHandler (

53 70

el: ASTElement,

54 71

name: string,

55 72

value: string,

56 73

modifiers: ?ASTModifiers,

57 74

important?: boolean,

58 75

warn?: ?Function,

59 -

range?: Range

76 +

range?: Range,

77 +

dynamic?: boolean

60 78

) {

61 79

modifiers = modifiers || emptyObject

62 80

// warn prevent and passive modifier

@@ -75,28 +93,34 @@ export function addHandler (

75 93

// normalize click.right and click.middle since they don't actually fire

76 94

// this is technically browser-specific, but at least for now browsers are

77 95

// the only target envs that have right/middle clicks.

78 -

if (name === 'click') {

79 -

if (modifiers.right) {

96 +

if (modifiers.right) {

97 +

if (dynamic) {

98 +

name = `(${name})==='click'?'contextmenu':(${name})`

99 +

} else if (name === 'click') {

80 100

name = 'contextmenu'

81 101

delete modifiers.right

82 -

} else if (modifiers.middle) {

102 +

}

103 +

} else if (modifiers.middle) {

104 +

if (dynamic) {

105 +

name = `(${name})==='click'?'mouseup':(${name})`

106 +

} else if (name === 'click') {

83 107

name = 'mouseup'

84 108

}

85 109

}

86 110 87 111

// check capture modifier

88 112

if (modifiers.capture) {

89 113

delete modifiers.capture

90 -

name = '!' + name // mark the event as captured

114 +

name = prependModifierMarker('!', name, dynamic)

91 115

}

92 116

if (modifiers.once) {

93 117

delete modifiers.once

94 -

name = '~' + name // mark the event as once

118 +

name = prependModifierMarker('~', name, dynamic)

95 119

}

96 120

/* istanbul ignore if */

97 121

if (modifiers.passive) {

98 122

delete modifiers.passive

99 -

name = '&' + name // mark the event as passive

123 +

name = prependModifierMarker('&', name, dynamic)

100 124

}

101 125 102 126

let events

@@ -107,7 +131,7 @@ export function addHandler (

107 131

events = el.events || (el.events = {})

108 132

}

109 133 110 -

const newHandler: any = rangeSetItem({ value: value.trim() }, range)

134 +

const newHandler: any = rangeSetItem({ value: value.trim(), dynamic }, range)

111 135

if (modifiers !== emptyObject) {

112 136

newHandler.modifiers = modifiers

113 137

}


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4