Find Jobs
Hire Freelancers

Custom Angular Directive - Typeahead w/ search history

$500-1000 AUD

Closed
Posted about 8 years ago

$500-1000 AUD

Paid on delivery
I have an existing Angular 1 application, and am looking to upgrade the typeahead directive I'm using. The directive I'm looking for is similar to the angular-bootstrap one at [login to view URL], but with some differences: - It should behave as a select instead of a text input, taking an `options` array which maps to labels and ids, and only accepting values within that list. The current value should be stored in ng-model. - ng-model should only be set to an id when an option's full label is typed in, when a key is pressed, or when an option is clicked. Until then, the highlighted id should be stored separately to the `ng-model` - `ng-model` should be set to null after typing something which does not exactly correspond with a label in `options` - I will use the `required` attribute to handle validation. - It needs to be possible to pass in a new `options` array at any time. When this happens, the highlighted id should not change - even when other options are added/removed. - It should have an `on-input` attribute which accepts a callback function - and when the user changes the current input string, this function should be called with the new value - The directive should accept an `is-loading` attribute, which when `true` will add a `typeahead-loading` class to the root element. - It should handle appropriate key events, including up/down arrow keys, spacebar for select, tabbing in/out with appropriate focus, escape key for closing dropdown, etc. - The popup should be displayed as soon as the input element receives focus (the linked directive will only display the popup after starting typing) - The typeahead directive should include the input element itself within its template, as opposed to be attached as to an existing <input>. There are a number of things which the linked directive does, but this typeahead directive should not do: - The directive should not handle filtering - this will be handled by the application using the `onInput` and `options` attributes described above. - The directive should not handle promises passed into `options` - only arrays. - The directive should not handle `typeahead-on-select($item, $model, $label)`. This can be accomplished through `ng-change` and NgModelController. - The directive should not implement these attributes from the linked directive: `typeahead-append-to-element-id`, `typeahead-editable`, `typeahead-input-formatter`, `typeahead-min-length`, `typeahead-no-results`, `typeahead-select-on-exact`, `typeahead-wait-ms`, `typeahead-loading`, `typeahead-select-on-blur` - The directive should also not implement `typeahead-focus-on-select` or `typeahead-focus-first` as attributes, instead always behaving as if they were set to `true` Notably, the directive *does* need to handle custom templates for the popup and the items themselves, as in the linked typeahead directive. However, given the other differences, I'd recommend starting from scratch instead of basing your code on the linked directive. I've attached an example of how the directive will be used. Other information: - I would appreciate any suggestions to improve the specification - I'm not opposed to you using an existing open source project to implement this directive, or releasing the result as an open-source project of your own under the MIT license - I am a programmer myself, but do not have enough time to implement this. I value clean code. - I need this done ASAP, and am willing to pay a premium for it to happen - There may be more work in the future if I like your style, especially if you have experience with Rails. If interested, please reply with at least one sample of a directive you've previously created. Bonus points for cleanliness, similarity to the requirements, and well-maintained open source. Bids without a code sample will be ignored.
Project ID: 9213068

About the project

12 proposals
Remote project
Active 8 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
12 freelancers are bidding on average $943 AUD for this job
User Avatar
Let's discuss more about project to finalize the proper scope with estimated cost and time so ping me over the freelancer chat. I am myself developer so you will directly work with me. No mediators. No managers. No subcontractors. Please check my my recent work for the technical expertise along with reviews & feedback on my profile page.
$1,030 AUD in 25 days
5.0 (30 reviews)
7.7
7.7
User Avatar
We are very interested in this project. We have great experience in Angular.js. I have read your above description and i think its well within our range to execute this is in a good time frame so would you be kind enough to message me so we can have a fast and understanding agreement.
$1,000 AUD in 5 days
4.7 (36 reviews)
7.8
7.8
User Avatar
A proposal has not yet been provided
$600 AUD in 5 days
4.9 (83 reviews)
6.6
6.6
User Avatar
Dear Sir, This is Sikander. I have read you job specification and came across your requirements about this project. I have 14+ years of experience in software development and I am ready to start this job. Please discuss with detail project specification. So I can give you exact time frame and budget for this project. I will provide you best services in development. Please have a look at my Profile, Ratings and feedback. Please let me know, if you want to see the samples of my work. I am working in Microsoft technologies and you can find the details below. My Skills includes: 1) .Net (Web/Windows) asp.net 2) MVC 3) Entity Framework 4) WPF/WinForms 5) MSSQL Server 6) SQL Server Reporting Services 7) Javascript/JQuery 8) WebServices/WCF Services 9) MySQL 10) Hosting Sites 11) Mailchimp 12) AngularJS 13) Recently Worked on Vending Machine solution with Monetary apparatus and Shipping Goods motor also worked on Kisok applicaiton. many more...... I have no fancy talks, no false promises and nothing to hide but honesty and a great will to expand our work experience. I am willing to expand my work experience to different clients and in this order I apply for this job in the hope to hear some positive response from you. I hope you will take us positively and will give us a chance to work with you. Many Thanks & Regards Sikander
$1,000 AUD in 12 days
4.6 (4 reviews)
4.4
4.4
User Avatar
Hi, I am interested. thanks Narendra ///////////////////////////////////////////////////////////////////////////////////////////////
$833 AUD in 10 days
5.0 (3 reviews)
3.9
3.9
User Avatar
A proposal has not yet been provided
$944 AUD in 10 days
0.0 (1 review)
0.0
0.0
User Avatar
Have experience with angular directives
$500 AUD in 15 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of JAPAN
Nagoya, Japan
5.0
1
Payment method verified
Member since Jul 15, 2005

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.