Methods
Helpers are can define instance methods which can then be called at any time during the lifecycle of the app.
Class methods
Find a helper
Use the findOne
class method to find an instance of a helper. You can provide a predicate to look for a specific helper on the screen:
var instance = Fliplet.Helper.findOne({
name: 'profile',
fields: { name: 'john' }
});
Find a list of helpers
Use the find
class method to find a list of helper instances on a screen. You can provide a predicate to filter for specific helpers:
var instances = Fliplet.Helper.find({
name: 'profile'
});
Instance methods
Update fields
Use the set
instance method to update fields and values at runtime. Given the following example:
var profile;
Fliplet.Helper({
name: 'profile',
data: {
firstName: 'John'
},
render: {
ready: function () {
profile = this;
}
}
});
See how the firstName
property can be updated at anytime using a static value or using the result of a promise returned by a function:
profile.set('firstName', 'Nick');
profile.set('firstName', function () {
return Promise.resolve('Tony');
})
Find all nested helpers
Use the find
method to retrieve a list of all helpers nested in the current helper.
<fl-helper name="quiz">
<fl-helper name="results"></fl-helper>
</fl-helper>
// Get a list of nested helpers by name
var foundHelpers = quiz.find({ name: 'results' });
// You can also use the shorthand
var foundHelpers = quiz.find('results');
// You can also provide a predicate function
var foundHelpers = quiz.find(function (instance) {
return instance.name === 'results';
});
Find a nested helper
<fl-helper name="quiz">
<fl-helper name="results"></fl-helper>
</fl-helper>
Use the findOne
method to retrieve a helper nested in the current helper.
// Get a nested helper by name
var helperInstance = quiz.findOne({ name: 'results' });
// You can also use the shorthand
var helperInstance = quiz.findOne('results');
// You can also provide a predicate function
var helperInstance = quiz.findOne(function (instance) {
return instance.name === 'results';
});
Find all children helpers
<fl-helper name="quiz">
<fl-helper name="results"></fl-helper>
</fl-helper>
Use the children
method to retrieve a list of all direct child helpers nested in the current helper.
// Get a list of direct child helpers by name
var foundHelpers = quiz.children({ name: 'results' });
// You can also use the shorthand
var foundHelpers = quiz.children('results');
// You can also provide a predicate function
var foundHelpers = quiz.children(function (instance) {
return instance.name === 'results';
});
Find all parents
<fl-helper name="slide">
<fl-helper name="quiz">
<fl-helper name="results"></fl-helper>
</fl-helper>
</fl-helper>
Use the parents
method to retrieve a list of all parent helpers of the current helper. If a predicate object/function is provided, the list of parents are filtered accordingly.
// Get a list of all parent helpers
var parents = result.parents();
// Get a list of all parent helpers by name
var parents = result.parents({ name: 'quiz' });
// You can also use the shorthand
var parents = result.parents('quiz');
// You can also provide a predicate function
var foundHelpers = quiz.parents(function (instance) {
return instance.name === 'quiz';
});
Find closest helper
<fl-helper name="slide">
<fl-helper name="quiz">
<fl-helper name="results"></fl-helper>
</fl-helper>
</fl-helper>
Use the closest
method to retrieve the closest parent helper of the current helper that matches the provided predicate object/function, including itself.
// Get the closest parent helpers by name
var closest = result.closest({ name: 'quiz' });
// You can also use the shorthand
var closest = result.closest('quiz');
// You can also provide a predicate function
var foundHelpers = quiz.closest(function (instance) {
return instance.name === 'quiz';
});
Define new instance methods
Instance methods can be defined via the methods
property as shown in the example below:
Fliplet.Helper({
name: 'welcome',
render: {
methods: {
greet: function () {
console.log('Hello');
}
},
ready: function () {
// Greet once a button inside this helper is clickd
this.$el.find('button').click(this.greet);
}
}
});
You can also keep a reference to a helper instance and call its methods any time:
var welcome;
Fliplet.Helper({
name: 'welcome',
render: {
methods: {
greet: function () {
console.log('Hello');
}
},
ready: function () {
welcome = this;
}
}
});
welcome.greet();
Further reading
Attributes
Learn more about defining attributes and fields in your helpers.